7、列表类型、元组、字典类型
一、列表
定义:[]内可以有多个任意类型的值,逗号分隔
优先掌握的操作
1、按照索引存取值(正向存取+反向存取):即可存也可取
2、切片(顾头不顾尾,步长)
l=[11,22,33,44]
l=[0:3:2]
new_l=[:]
浅copy:只拷贝外层,内层可变类型不拷贝
深copy:执行
from copy import deepcopy new_l1 = deepcopy(l) # print(id(l[0]), id(l[1]), id(l[2])) # print(id(new_l1[0]), id(new_l1[1]), id(new_l1[2])) # new_l1[2][0]="zzzzz" print(new_l1) print(l)
3、长度
len(l)
4、成员运算in和not in
print ("xxx" in l)
5、追加
l。append(值)
l.insert(索引,值)
6、删除
del l[0]
l.remove(元素)
res=l.pop(索引)
7、循环
for x in l:
print(x)
for i,x in enumerate(l)
print(i,x)
重要操作
l=[11,22,33]
new_l = l.copy()#new_l = l[:]
print(len(l))
index()#查找33在第几个
·print(l.index(33))
print(l.index(7777))
count(指定列表中查找个数)
print(l.count(33))
clear(清空操作)
l.clear()
print(l)
extend(增加字符串类型的元素进去)
l.extend(''hello'')
l.extend([1,2,3])
l.append([1,2,3])
print(l)
reverse(用于反向列表中的元素)
l.reverse()
print(l)
sort(对原列表进行排序,reverse=True(降序),reverse=False(升序))
l=[11,-3,9,7,99,73]
l.sort(reverse=True)
print(l)
二、元组
1、用途:元组相当于一个不可变列表,所以说元组也是按照位置存放多个任意类型的元素
2、定义方式:在()内用逗号分隔开多个任意类型的元素
3、数据类型的转换
tuple(可迭代的类型)
注意:如果元组内只有一个元素,那么也必须用逗号隔开
例如:t(11,)
4、常用操作及内置的方法
优先掌握
1、按照索引取值(正向与反向)只能取值
t=(11,22,33)
t[0]=777
2、切片(顾头不顾尾,步长)
t=(11,22,33,44)
print(t[0:4:2])
3、长度
t=(11,22,33,44)
print(len(t))
4、成员运算in和not in
t=(11,22,33,[44,55,66])
5、循环
t=(11,22,33,[44,55,66])
for x in t:
print(x)
补充:
t=(33,22,33,[44,55,666])
print(t.count(33))
print(t.index(33,1,4))
可以存多个值,有序,不可变
三、字典
1、用途:按照key:value的范式来存放多个值,其中key对value应该有描述性的效果
2、定义方式:在{}内用逗号分隔开多个元素,每个元素都是key:value的组合,其中value可以是任意类型,但是key必须是不可变类型,通常是字符串类型
3、数据类型的转换
res= dict([(''name'',''egon''),["age",18],[]"gender","male"])
print(res)
res=dict(a=1,b=2,c=3)
print(res)
res = {}.fromkeys(['name',"age","gender"],None) res = {}.fromkeys(['name',"age","gender"],11) res["name"]=666 print(res) res = {}.fromkeys(['name',"age","gender"],[]) res["name"]=666 res["name"].append(1111111) print(res)
4、常用操作+内置方法
优先掌握:
1、按照key来存取值,可存可写
res = {}.fromkeys(['name',"age","gender"],None) res = {}.fromkeys(['name',"age","gender"],11) res["name"]=666 print(res) res = {}.fromkeys(['name',"age","gender"],[]) res["name"]=666 res["name"].append(1111111) print(res)
2、长度len
d={''k1'':111,'k2':222}
print(len(d))
3、成员运算in和not in:判断的是key
d={"name":"egon",'age':18} print("name" in d)
4、删除
三种删除方法
d={"name":"egon",'age':18} print(d) del d["name"] v = d.pop("name") print(d) print(v) item = d.popitem() print(item) print(d)
5、键keys(),值value(),键值对items()
d={"name":"egon",'age':18,"gender":"male"} print(d.keys()) print(d.values()) print(d.items())
6、循环
d={"name":"egon",'age':18,"gender":"male"} for k in d.keys(): print(k) for k in d: print(k) for v in d.values(): print(v) for k,v in d.items(): # k,v = ('gender', 'male'), print(k,v) print(list(d.keys())) print(list(d.values())) print(list(d.items()))
7、需要掌握
清空操作:
d={"name":"egon",'age':18,"gender":"male"} d.clear() print(d)
d.copy浅拷贝
key不存在则添加key:value,key如果存在则不变
d={"name":"egon",'age':18,"gender":"xxx"} if "gender" not in d: d['gender']="male"
d.setdefault("gender","male")
print(d)
update
更新列表
d={"name":"egon",'age':18,"gender":"male"} d.update({"k1":111,"name":"xxx"}) print(d)
总结:列表可以存多个值,无序,可变的