1.作用
对于值添加描述信息使用它.多用于存的值表示的是不同的状态时,例如存的值有姓名、年龄、身高、体重、爱好。
2.定义方式
用{}以逗号隔开加入键值对key:value. (value可以是任意数据类型,而key通常应该是字符串类型,但是key必须为不可变类型。
info_dict = {'name':'wang','age':18,'height':120,'gender':'female','hobby_list': ['eat', '666', '233']}
3.内置方法
# 优先掌握
# 1.按key取值,即可取也可改变
print(info_dict['hobby_list'])
info_dict['age'] = 20
print(info_dict)
# 2.长度len
print(len(info_dict))
# 3.in/not in
print('name' in info_dict)
# 4.for循环
for i in info_dict:
print(i)
# 5.keys/value/items(items用的最多,一般和解压缩一起用)
print(list(info_dict.keys()))
print(list(info_dict.values()))
print(list(info_dict.items()))
for i in info_dict.values():
print(i)
info_dict = {'name':'wang','age':18,'height':120,'gender':'female','hobby_list': ['eat', '666', '233']}
print(info_dict.items())
for i in info_dict.items():
print(i)
for k,v in info_dict.items():
print(k,v)
lt = [[1,2,3],[2,3,4],[5,6,7]]
for a,b,c in lt:
print(a,b,c)
## 需要掌握
info_dict = {'name':'wang','age':18,'height':120,'gender':'female','hobby_list': ['eat', '666', '233']}
print(info_dict.copy())
info_dict.pop('name')
print(info_dict)
info_dict.popitem() # 早期的时候字典是无序的,是随机删除的,但是由于python3底层优化了字典,让字典看的貌似有序了,所以默认删除最后一个
print(info_dict)
# info_dict.clear()
# print(info_dict)
print(info_dict.get('age'))
print(info_dict['name'])
print(info_dict.get('name','nick')) # 如果有,就返回真正的值;如果没有,默认返回None,也可以指定返回
info_dict.setdefault('gender',123123) # 有则不变,无则往里面追加了值
print(info_dict)
# D.setdefault(k[,d]) -> D.get(k,d),also set D[k]=d if k not in D
D = {'a':1,'b':2}
def setdefault(D,k,d):
D.get(k,d) # 获取'gender',如果不存在gender那就返回123123
if k not in D:
D[k] = d
setdefault(D,'a',3)
print(D)
info_dict = {'name':'wang','age':18,'height':120,'gender':'female','hobby_list': ['eat', '666', '233']}
info_dict.update({'a',1})
print(info_dict)
# fromkeys由dict.出来,快速造一个字典
print(dict.fromkeys(['a',2,3,4,5],'nick'))
4.存一个值还是多个值
多个值。值可以是多个类型,key必须是不可变类型,通常应该是不可变类型中的字符串类型
5.有序还是无序
无序
6.可变or不可变(重点)
可变
dic = {'a':1}
print(id(dic))
dic['b'] = 1
print(id(dic))