06 列表字典集合元祖的内置方法
Posted zdq1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了06 列表字典集合元祖的内置方法相关的知识,希望对你有一定的参考价值。
1.列表内置方法
l=[1,2,3,4,5,6,7] res = l.clear() print(res)#None 因此.clear方法没有返回值 print(l)#[] 现在列表为空了
将列表反转reserse() l = [1,2,1,3,4,5,6,7] l.reverse() print(l)#[7, 6, 5, 4, 3, 1, 2, 1]
sort()排序
l1 = [43,6,1,7,99] l1.sort(reverse=False) # 可以通过指定参数来修改默认的拍讯规则(降序) print(l1)
总结:列表类型:能存多个值;有序的;可变类型
队列:先进先出
l=[] l.append(‘1‘) l.append(‘2‘) l.append(‘3‘) print(l) #[‘1‘, ‘2‘, ‘3‘] print(l.pop(0)) print(l.pop(0)) print(l.pop(0)) #1,2,3
堆栈:先进后出
l.append(‘1‘) l.append(‘2‘) l.append(‘3‘) print(l) #[‘1‘, ‘2‘, ‘3‘] print(l.pop()) print(l.pop()) print(l.pop()) #3,2,1
2.元祖
2.1作用:存储多个值,元素与元素之间逗号隔开,元素可以是任意类型,元祖不能被修改
2.2定义:与列表类型比,只不过将【】换成了()
age = (1,3,4,5,6,67)本质上age = tuple((1,3,4,5,6,67))
元祖内必须传容器类型
a=(1,32,32,‘sdf‘,‘fsd‘,[1,2,3])#tuple((1,32,32,‘sdf‘,‘fsd‘,[1,2,3])) print(type(a)) #<class ‘tuple‘> tuple(1) print(tuple(1)) #TypeError: ‘int‘ object is not iterable. #元祖内必须传容器类型
在定义容器类型的时候,哪怕只有一个元素,也必须加上逗号。否则识别为字符串。(***)
n=(‘a‘) print(n,type(n)) #a <class ‘str‘> n=(‘a‘,) print(n,type(n)) #(‘a‘,) <class ‘tuple‘>
2.3优先掌握的操作:
#优先掌握的操作: #1、按索引取值(正向取+反向取):只能取 #2、切片(顾头不顾尾,步长) #3、长度 #4、成员运算in和not in #5、循环
1.按索引取值(正向取+反向取):只能取
a=(1,32,23,4,‘sd‘,‘fsd‘,[1,32,43]) print(a[0]) a[-1]=‘aaaaaaaa‘ #ypeError: ‘tuple‘ object does not support item assignment a[-1][0]=‘改了元祖内列表中的值‘ print(a) #(1, 32, 23, 4, ‘sd‘, ‘fsd‘, [‘改了元祖内列表中的值‘, 32, 43])
元祖内的值,不能修改
del a[0] print(a) #TypeError: ‘tuple‘ object doesn‘t support item deletion
2.切片(还是顾头不顾尾)
连续两个::,代表从开始取到最后一个值
a=(1,32,23,4,‘sd‘,‘fsd‘,[1,32,43]) print(a[::2]) #(1, 23, ‘sd‘, [1, 32, 43])
3.长度len
a=(1,32,23,4,‘sd‘,‘fsd‘,[1,32,43]) print(len(a)) # 7
4.成员运算 in 和 not in
a=(1,32,23,4,‘sd‘,‘fsd‘,[1,32,43]) print(‘d‘ in a) #False
5.循环for
a=(1,32,23,4,‘sd‘,‘fsd‘,[1,32,43]) for i in a: print(i,end=‘ ‘) # 1 32 23 4 sd fsd [1, 32, 43]
总结:
能存多个值
有序
不可变
1.能存多个值。由于元祖是不可变类型。不能修改值,但是如果元祖里面有列表,可以先取出列表,再给修改。
比如在元祖内的列表中增加值.append
a=(1,32,23,4,‘sd‘,‘fsd‘,[1,32,43])
print(id(a))
#6029824 a[-1].append(666) print(a,id(a))
#(1, 32, 23, 4, ‘sd‘, ‘fsd‘, [1, 32, 43, 666])
#6029824
3.字典及其内置方法
3.1作用:字典能存储多组(key:value)键值对。由于key是不可变类型,而value是任意类型
3.2定义;
c = ‘name‘:‘zdq‘,‘pwd‘:123,(1,3):‘可不可行‘ print(c[‘name‘]) print(type(c)) print(c[(1,3)]) # zdq # <class ‘dict‘> # 可不可行
3.3注意字典的Key是不能重复的。若重复,则存储最后一组键值对
f=‘name‘:‘wuxi‘,‘name‘:‘zdq‘,‘name‘:‘abd‘ print(f[‘name‘]) #abd
存储最后一组键值对
f=‘name‘:‘wuxi‘,‘name‘:‘zdq‘,‘name‘:‘abd‘ print(len(f)) print(f) #1 #‘name‘: ‘abd‘
优先掌握的操作:
1.key存取值:可存可取
b=‘name‘:123,‘age‘:18 print(id(b)) print(b[‘age‘]) b[‘name‘]=‘wuxi‘ b[‘name‘]=‘456‘ b[‘name‘]=‘789‘ b[‘name‘]=‘abc‘ print(b,id(b)) # 34615232 # 18 # ‘name‘: ‘abc‘, ‘age‘: 18 34615232
当要赋值的key在字典中不存在时,会自动新增一个键值对(*****)
b=b=‘name‘:123,‘age‘:18 b[‘weight‘]=‘150‘ print(b[‘weight‘]) ‘name‘: ‘abc‘, ‘age‘: 18, ‘weight‘: ‘150‘ 5517248
以上是关于06 列表字典集合元祖的内置方法的主要内容,如果未能解决你的问题,请参考以下文章