字典类型
1.用途
按key:value的形式存放多个任意类型的value,key反应的是value的属性
2.定义方式
在{}内用逗号分开多个key:value,其中value可以是任意类型
# 而key必须是不可变的类型,通常是字符串类型
d={'k1':111,'k1':222,'k1':333}
print(d) #key重复只保留一个
#类型转换
l=[('name','egon'),('age',18),('gender','male')]
dic=dict(l)
print(dic)
dic=dict(x=1,y=2,z=3)
print(dic)
#{'x': 1, 'y': 2, 'z': 3}
#空字典
d={}
print(type(d))
dic={}.fromkeys(['name','age','genden'],None)
print(dic) #多个key且只能对应同一个value
dic = {}.fromkeys(['name', 'age', 'gender'], [])
print(dic)
{'name': [], 'age': [], 'gender': []}
dic.get('name').append(123)
print(dic)
{'name': [123], 'age': [123], 'gender': [123]}
3.常用操作+内置方法
优先掌握操作:
1.按key存取值:可存可取
dic={'name':'egon','gender':'male','age':18}
name=dic['name']
print(name)
res=dic['name']='arther'
print(dic)
print(res) #也可以单独取出来
2.长度
print(len(dic)) #按key:value取值
3.成员运算in和not in
d={'k1':111,'k2':222,'k3':333}
print('k1' in d)
print(111 in d)
print(111 in d.values())
4.删除
d={'k1':111,'k2':222,'k3':333}
#万能删除,没有返回值
del d['k1']
print(d)
#随机删除,返回一个元组
res=d.popitem()
print(res)
print(d)
#指定key删除,有返回值,代表的是取走操作
res=d.pop('k1')
print(res)
print(d)
5.键keys(),值values(),键值对items()
d={'k1':111,'k2':222}
d.keys()
——>['k2', 'k1']
d.values()
——>222, 111]
d.items()
——>[('k2', 222), ('k1', 111)]
6.循环
d = {'k1': 111, 'k2': 222}
for k in d:
print(k)
for v in d.values():
print(v)
for k, v in d.items():
print(k, v)
keys = []
for k in d:
keys.append(k)
d = {'k1': 111, 'k2': 222}
keys = list(d) # 将key值组成列表
print(keys)
values = list(d.values())
print(values)
类型总结
存多个值
无序
可变