Python档案袋(列表、元组、字典、集合 )

Python档案袋(列表、元组、字典、集合 ),第1张

概述列表 可以同名,有序(通过下标可找到) 取值: 遍历: 修改: 删除: 利用for循环的列表生成: 列表排序: 列表合并: 列表的一一对应: 字符串与列表的转换: 函数eval()可以将格式化的字符串 列表

可以同名,有序(通过下标可找到)

取值:

 1 #声明列表 2 Listx=["L0","L1","L2",33,"L4"] 3 print(Listx) #输出:['L0','L1','L2','L4'] 4 print(len(Listx)) #统计总个数,输出:5 5 print(Listx[1]) #下标取值,输出:L1 6 print(Listx[0:2])#切片区间为:[0,2),输出:['L0','L1'] 7 print(Listx[:2])#输出:['L0','L1'] 8 print(Listx[-1])#倒数第一个,输出:L4 9 print(Listx.index("L1"))#查找内容的下标,查找到第一个,输出:110 print(Listx.count("L4")) #统计值为L4的个数 输出:1

遍历:

1 #声明列表2 Listx=["L0",[11,22,33],"L1"]3 4 print(type(Listx))  #输出类型为:<class 'List'>5 6 for i in Listx:7     print(i) #输出:L0  [11,33]  L1

修改:

 1 #声明列表 2 Listx=["L0","L1"] 3  4 Listx[2]="L1.1" #修改值 5 Listx.append("L2") #追加,结尾添加 6 Listx.insert(1,"L1.0") #插入,参数(位置,内容) 7  8 Listx.reverse()#反转 9 Listx.sort()#排序10 11 print(Listx) #输出:['L0','L1.0','L1.1','L2']

删除:

1 #声明列表2 Listx=["L0","L4"]3 Listx.remove("L2") #删除,以内容4 del Listx[0] #删除,以下标5 Listx.pop(0) #删除,以下标,默认删除最后一个6 7 #Listx.clear() #清空列表8 print(Listx) #输出:[33,'L4']

利用for循环的列表生成:

#生成列表,for循环的值传递到前面的算式进行值的修改Listx=[i*10 for i in range(10)]print(Listx)#输出:[0,10,20,30,40,50,60,70,80,90]

列表排序:

#排序Listx=[20,100,66,99,11]print(sorted(Listx)) #排序,输出:[11,100]

列表合并:

List1=[11,22]List2=[99,88]List1.extend(List2) #扩展print(List1) #输出:[11,88]

列表的一一对应:

1 #一 一对应2 List1=[11,88]3 List2=["cc","bb","aa","dd"]4 res=zip(List1,List2)#变成一个迭代器5 print(next(res)) #输出:(11,'cc')

字符串与列表的转换:

函数eval()可以将格式化的字符串转换为列表、字典等数据类型

1 a="[11,55]"2 3 #转换函数4 aa=eval(a)5 print(aa[2]) #输出:556 7 #进列表转换为字符串8 print(type(str(a))) #输出:<class 'str'>

浅copy,只copy第一层:

 1 #声明列表 2 Listx=["L0","L1"] 3  4 List2=Listx.copy()#浅copy,只copy第一层 5  6 List2[0]="L0000" #只改自己 7 List2[1][2]=3333333333 #一改全改 8  9 print(Listx)#输出:['L0',3333333333],'L1']10 print(List2)#输出:['L0000','L1']

深copy,独立分配内存空间

 1 import copy 2  3 #声明列表 4 Listx=["L0","L1"] 5  6 List2=copy.deepcopy(Listx)#深copy,独立分配内存空间 7  8 List2[0]="L0000" #只改自己 9 List2[1][2]=3333333333 #只改自己10 11 print(Listx)#输出:['L0','L1']12 print(List2)#输出:['L0000','L1']
 元组:

值不可更改,值可重复,有序(通过下标可找到)

 1 #声明元组 2 va=("dongxiaodong","东小东","222","dong",("11",33)) 3  4 print(type(va))#类型,输出:<class 'tuple'> 5  6 print(len(va)) #总个数,输出:6 7  8 print(va.count("dong")) #统计某个值的个数 输出:2 9 10 print(va.index("dong")) #查询值的下标 输出:311 12 print(va[1]) #下标取值,输出:东小东
字典:

无序,键不可重复

 1 #创建字典方法1 2 va={"v1":"111","v2":"222",33:"333"} 3  4 #创建字典方法2 5 va2=dict.fromkeys(["v1","v2","xxxxx") #创建不同的键对应一个值 6 print(va2) #输出:{'v1': 'xxxxx','v2': 'xxxxx',33: 'xxxxx'} 7  8  9 print(va[33]) #通过键取值,不存在则报错10 print(va.get(44)) #存在则返回值,不存在则返回None11 12 print("v1" in va) #判断键是否存在字典中13 14 va["v1"]="1x1x1x1" #修改15 16 va["v3"]="xxxx333333" #添加17 18 va.update({"v1":"vvvvv11111","v4":"444444"}) #键存在则更新值,键不存在则创建19 20 print(va.items()) #输出:dict_items([('v1','vvvvv11111'),('v2','222'),(33,'333'),('v3','xxxx333333'),('v4','444444')])21 22 23 24 #del va["v2"] #删除某对25 #va.pop("v3") #删除某对26 27 #va.popitem() #随机删除一对,默认删除最后一对28 29 #del va #删除所有30 31 print(va) #打印所有32 33 34 #字典循环打印方法135 #效率较高,推荐36 #循环键37 for i in va:38     print(i,va[i])39 40 #字典循环打印方法241 #循环键值42 for k,v in va.items():43     print(k,v)

字典的排序

 1 #排序 2 a={"5":55555,"2":88888,"32":22222} 3  4 #按键排序,键的数据类型必须一样 5 #输出:[('2',88888),('32',222222),('5',55555)] 6 print(sorted(a.items())) 7  8 #按值排序,值的数据类型必须一样 9 #输出:[('32',22222),55555),('2',88888)]10 print(sorted(a.items(),key=lambda x:x[1]))
集合

值不可重复,重复则保留其中一个,无序,因为集合是无序的,所以取值一般都是经过for循环,而不会使用下标取值

 1 Listx1=set(["10",11,12,12]) 2 print(Listx1) #输出:{10,'10'} 3  4 Listx2=set([10,100]) 5  6 #交集 7 #方法1: 8 print(Listx1.intersection(Listx2)) #输出:{10} 9 #方法2:10 print(Listx1 & Listx2)#输出:{10}11 12 #并集13 #符号为:|14 print(Listx1.union(Listx2)) #输出:{100,'10'}15 16 #差集17 #符号为: -18 # 在Listx1中有,但Listx2中没有的,参数可有对换19 print(Listx1.difference(Listx2)) #{11,'10'}20 21 #子集22 #Listx2w是不是Listx1的子集,返回bool23 print(Listx2.issubset(Listx1)) #输出:False24 25 #父集26 #Listx1是不是Listx2的父集,返回bool27 print(Listx1.issuperset(Listx2)) #输出:False28 29 #对称差集30 #在并集的基础上将两个集合都有的元素去掉31 print(Listx2 ^ Listx1) #输出:{100,'10'}32 33 Listx2.add("dongxiaodong") #添加一项34 Listx2.update(["dong1","dong2"]) #添加多项35 36 Listx2.remove("dong1") #删除一项,不存在会报错37 Listx2.discard("dong1")#删除一项,不存在会返回None38 39 print(len(Listx2)) #打印长度40 41 print(Listx2)

 

总结

以上是内存溢出为你收集整理的Python档案袋(列表、元组、字典、集合 )全部内容,希望文章能够帮你解决Python档案袋(列表、元组、字典、集合 )所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1189842.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存