多维数组

nums1 = [1,2,3] #一维数组
nums2 = [1,2,3,[4,56]] #二维数组
nums3 = [1,2,3,4,['a','b','c','d','e',['一','二','三']],['四','五']] #三维数组
nums4 = [1,2,3,4,['a','b','c','d','e',['一','二','三',[1,2,3]]]] #四维数组
print(nums2[3][1]) #56
print(nums2[-1][-1]) #56
print(nums3[4][5][1]) #'二'
print(nums3[5][1]) #'五'
print(nums3[-1][-1]) #'五'

list

list中可以放不同类型的值,list的下标从0开始。

#定义一个list
stu_name = ['张三', '李四', '王五', 1, 1.5]
print(stu_name) #打印list中全部内容
print(stu_name[0]) #打印'张三'
len()

length = len(stu_name) #list的长度,list中元素的个数 

list增加元素

append()
insert() stu_name.append('朱六') #在list末尾添加一个元素
stu_name.insert(0, '小军') #在指定位置插入一个元素
print(stu_name)

list修改元素

stu_name[6] = '铲铲'
print(stu_name)

list删除元素

pop()
remove()
del
reverse() stu_name.pop() #删除最后一个元素
stu_name.pop(4) #删除指定下标的元素
stu_name.remove('小军') #删除指定的元素,有多个相同的元素,会删除第一个
del stu_name[-1] #删除指定位置的元素,正数从正序开始,负数从倒序开始
print(stu_name)

list查找元素

count()
index()
reverse()
clear() my_list = ['小黑', '小白', 1, 1, 2, 1.5]
print(my_list[-1])
print(my_list[0])
print(my_list.count(1)) #查询某个元素在list里面出现的次数
print(my_list.index(1)) #查找元素的下标,多个相同元素取第一个,不存在的无素会报错
print(my_list.reverse()) #直接打印结果为None
print(my_list) #输出时list被反转 my_list.clear() #list被清空
print(my_list)
sort()
sort(reverse=True) nums = [9.23, 9, 3, 6, 1, 0]
nums.sort() #从小到大排序
nums.sort(reverse=True) #从大到小排序
nums.extend(my_list) #把一个list里面的元素加入
print(nums) new_list = nums + my_list + stu_name #合并
print(new_list)
print(new_list * 3) #复制几次

list练习

users = ['wrp','nhy','haha']
#校验用户名是否存在 for i in range(5):
username = input("请输入用户名:")
# 如果用户不存在的话,说明可以注册
#if users.count(username) > 0:
if username not in users: #in就是判断在不在里面
print("用户未注册,可以注册")
users.append(username)
else:
print("用户已经被注册")
#最原始的list取值方式,通过每次计算下标来获取元素
passwords = ['123456','123123','7891234','password']
count = 0
while count < len(passwords):
s = passwords[count]
print(s)
count+=1
passwords = ['123456','123123','7891234','password']
#for循环直接循环一个list,每次循环取它的值得
for p in passwords:
print(p)
#修改passwords中的内容
passwords = ['123456','123123','7891234','password']
index = 0
for p in passwords:
passwords[index] = 'abc'+p
index+=1
print(passwords)
#使用枚举函数,会计算下标和元素
passwords = ['123456','123123','7891234','password']
for index,p in enumerate(passwords):
passwords[index] = 'abc' + p
print(index, p)
print(passwords)

切片
切片同样适合于字符串

l = ['a','b','c','d','e','f','g','h','i']
print(l[0:3]) #顾头顾尾巴
print(l[:5]) #如果冒号前没写,代表从0开始取
print(l[4:]) #如果冒号后没有写,代表到结束
print(l[:]) #冒号前后都不写,取全部
print(l[0:8:2]) #从0开始,算上每隔2取一个 nums = list(range(1,101)) #range()生成一个list
print(nums[1::2]) #取100以内的偶数
print(nums[::2]) #取100以内的奇数
print(nums[::-2]) #步长为正数,从左到右取,步长为负数,从右到左取

字符串切片

#字符串切片
words = '中秋节要上课'
print(words[::-1])
for index,w in enumerate(words):
print(index, w)

回文算法

#回文算法,反过来倒过去都一样,如'上海自来水来自海上',12321
for i in range(10):
str = input("请输入一个字符串:") if len(str) < 1:
print("字符串长度必须大于是")
elif str == str[::-1]:
print("是回文")
else:
print("不是回文")

元组

元组不能被修改,如果元组只有一个元素,需要在定义后添加逗号,不然会认为括号是运算符
创建元组

tup1 = ()
tup2 = (1,2,3,4,5,6)
tup3 = ('google','baidu',1000,2000)
tup4 = (50,)#元组中只有一个元素时,在后面添加逗号

访问元组

tup = ('google','baidu',1000,2000)
print(tup[1])

修改元组

tup = ('google','baidu',1000,2000)
tup1 = ('abc','xyz')
tup3 = tup + tup1
print(tup3)

删除元组

tup = ('google','baidu',1000,2000)
del tup

元组运算

#元组运算
print(len((1,2,3)))
print((1,2,3)+(4,5,6))
print(3 in(1,2,3)) for x in(1,2,3):
print(x) tup =(1,2,3,4,5)
len(tup) #求元组长度
max(tup) #求元组中最大值
min(tup) #求元组中最小值 seq = [1,2,3,4,5]
tup = tuple(seq) #将列表换为元组

字典

xiaojun ={
'name':'xioajun',
'age': 21,
'sex':'男',
'addr':'北京',
'phone':'13266568006'
}

增加

stus = {}
stus['name'] = '小军'
stus['name'] = '海龙'
stus.setdefault('name', '小帆') #如果这个key已存在,setdefault不会修改这个key的值
stus.setdefault('age', 18)
stus.setdefault('sex', '男')
stus.setdefault('addr', '北京')
stus.setdefault('phone', '1961231231')
stus.update({'money':1000}) #将一个字典增加到stus中

修改

stus['name'] = '小鹏'

查询

print(stus['addr'])
print(stus.get('sex','男')) #如果查不到,get()中第二个参数就返回默认值
print(stus.keys()) #所有的key
print(stus.values()) #所有的value for k in stus:
print(k, '===>',stus.get(k)) for k,v in stus.items():
print(k, '====>', v)

删除

del stus['phone']
stus.pop('addr')
stus.popitem() #随机删除
del stus #删除整个字典

字典多层嵌套取值

all_stus = {
'xiaojun':{
'name': 'xiaojun',
'age': 21,
'sex': '男',
'addr': '北京',
'phone': '13266568006',
'id': 1,
'cars':['牧马人','911','野马','劳斯莱斯'],
},
'hailong':{
'name': 'hailong',
'age': 21,
'sex': '男',
'addr': '北京',
'phone': '13266569006',
'id': 2,
'bags':{
'qianbao':['lv', 'ysl'],
'beibao':['coach','abc']
}
}
} all_stus['xiaojun']['cars'].append('五菱宏光') #给xiaojun的car中添加值
print(len(all_stus['xiaojun']['cars'])) #统计xiaojun中car的数量
all_stus['hailong']['sex'] = '女' #将hailong的sex改为女
all_stus['hailong']['bags']['qianbao'].remove('lv') #删除bags中qianbao中的lv
all_stus['hailong']['bags']['kuabao']=['bac'] #增加一个kuabao
all_stus['hailong']['bags']['kuabao'].append('lv2') #在kuabao中增加lv2
all_stus['hailong']['bags'].pop('kuabao') #删除kuabao

字符串常用方法

字串符一经定义,不会被改变,对其操作会重新生成一个被处理后的新字符串。

password = ' 123456 \n 456789 '
print(password.strip()) #默认去掉字符串两边的空格和换行符
print(password.rstrip()) #右边的空格
print(password.lstrip()) #左边的空格 password1 = 'jpg 1233456789 .jpg'
print(password1.strip('.jpg')) #掉去字符串两边的.jpg print(password1.upper()) #转成大写
print(password1.lower()) #转成小写
print(password1.capitalize()) #把首字母改成大写
print(password1.count('jpg')) #字符串出现的次数
print(password.replace('谭爱玲','上山打老虎')) #找到了就替换字符串,找不到也不报错 filename = 'a.mp3'
print(filename.endswith('.mp3')) #判断是否以xxx结尾
print(filename.startswith('196')) #判断以xxx开头
#'{name},{age}'.format(name='hhh',age=18) names = '小军,海龙,杨帆,大朋'
names1 = '小军 海龙 杨帆 大朋'
print(names.split(',')) #以分隔符将字符串分割成list
print(names1.split()) #不指定时默认以空格切割
users = ['username','user2','user3']
#username,user2,user3
print(str(users))
res = ','.join(users) #连接可以循环的元素,和split()相反,把list变成了字符串
print(res) #结果为username,user2,user3
print(s.find("z")) #找不到时返回-1
#print(s.index("z")) #找不到时报错
print(s.count("z")) #找元素个数
print('0'.isdigit()) #判断是否是正整数
print(s.islower()) #是否小写
print(s.isupper()) #是否大写
print('abc123'.isalnum()) #字符串中是否有英文或数字
print('abc'.isalpha()) #只能是字母
print(s.isspace()) #是否空格
print('1a123'.isidentifier()) #是否为合法的变量名
print(s.splitlines()) #以换行符分割分字符串
new_l = []
for i in l:
si = str(i)
new_l.append(si.zfill(5)) #zfill()用于位数补0,会补足括号中位数
print(new_l)
 
import string
print(string.ascii_lowercase) #大写
print(string.ascii_uppercase) #小写
print(string.digits) #数字
print(string.punctuation) #特殊符号
print(string.ascii_letters) #大小写

Python基础-列表、元组、字典、字符串的更多相关文章

  1. python基础(4)-元组&字典&字符串&队列

    元组(tuple) #元组相对列表来说不同之处是只读不可写 读操作和列表一致 letter_tuple = ('a','b','c','d'); print(letter_tuple[0]);#res ...

  2. python3速查参考- python基础 4 -> 元组 + 字典 + 字符串 的学习

    元组 元组:特点就是内容不可变,算只读的列表,可以被查询,不能被修改 a = 2, print(a) print(type(a)) b = ('a','b','c') print(b[1]) 运行结果 ...

  3. python基础-列表元组字典

    1.列表和元组 列表可以对数据实现最方便的存储.修改等操作 names=["Alex","tenglan","Eric","Rai ...

  4. Python学习---列表/元组/字典/字符串/set集合/深浅拷贝1207【all】

    1.列表 2.元组 3.字典 4.字符串 5.set集合 6.深浅拷贝

  5. python之列表/元组/字典/字符串

    一.列表 格式:list = ['xxx','xxx','xxx'] 性质:可以修改列表内容 copy用法: import copy names = ['] names01 = names #直接引用 ...

  6. python基础深入(元组、字符串、列表、字典)

    python基础深入(元组.字符串.列表.字典) 一.列表 1.追加 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原 ...

  7. 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  8. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  9. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  10. 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作

    声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...

随机推荐

  1. 廖雪峰Java13网络编程-3其他-1HTTP编程

    1.HTTP协议: Hyper Text Transfer Protocol:超文本传输协议 基于TCP协议之上的请求/响应协议 目前使用最广泛的高级协议 * 使用浏览器浏览网页和服务器交互使用的就是 ...

  2. springboot指定项目访问路径前缀

    springboot默认的运行方式是没有项目前缀的 如果这时候我们要加上调试或者发布,可以使用下面的方法加上 方法:

  3. JS对象迭代v-for

    <!DOCTYPE html> <html lang="zh"> <head> <title></title> < ...

  4. PAT甲级——A1071 Speech Patterns

    People often have a preference among synonyms of the same word. For example, some may prefer "t ...

  5. PAT甲级——A1006 Sign In and Sign Out

    At the beginning of every day, the first person who signs in the computer room will unlock the door, ...

  6. 提前关闭Scrapy爬虫的设置

    Scrapy的CloseSpider扩展会在满足条件时自动终止爬虫程序.可以设置CLOSESPIDER_TIMEOUT(秒).CLOSESPIDER_ITEMCOUNT.CLOSESPIDER_PAG ...

  7. 关于Server.MapPath和HostingEnvironment.MapPath

    最近做的项目需要在Controller里重写一个static的方法,在方法内用常用的Server.MapPath会报一个错误:An object reference is required for t ...

  8. ES6之主要知识点(一)

    引自:http://es6.ruanyifeng.com let 块级作用域 const 1.let let声明的变量只在它所在的代码块有效. for循环的计数器,就很合适使用let命令. var a ...

  9. PKU 百炼OJ 简单密码

    http://bailian.openjudge.cn/practice/2767/ #include<iostream> #include <cmath> #include ...

  10. MySQL模拟Oracle序列使用

    https://www.runoob.com/mysql/mysql-using-sequences.html   一篇笔记开始看 注意:创建序列表时一定要有 主键id自增,否则为只读状态不能修改递增 ...