(一)创建字典
1.语法是{k1∶v1,k2:v2,k3∶v3},键与值之间用冒号隔开,多个项之间用逗号隔开,这是键值对的结构。
d={'name':' TOM','age':18,'sex':'男'}
2.我们还可以使用 dict()函数来创建字典
每一个参数都是一个键值对,参数名就是键,参数名就是值
这种方式创建的字典,key 都是字符串
d=dict(name='aa',sex='女',age=19) print(d,type(d))
得到的结论是:
{'name': 'aa', 'sex': '女', 'age': 19} <class 'dict'>
3.可以将一个包含有双值子序列的序列转换为字典,双值序列就是序列中只有两个值,比如[1,2],('a',3),'ab'。
d=dict([('name','aa'),('age',18)]) print(d,type(d))
得到的结论是:
{'name': 'aa', 'age': 18} <class 'dict'>
(二)“len”获取键值对数量
d=dict([('name','aa'),('age',18)]) print(len(d)) # 2
2个健值对
(三)in 和 not in
“in”是用来检查字典中是否包含指定的键,
“not in”是检查字典中是否不包含指定的键
d=dict([('name','aa'),('age',18)]) print('hello'ind) # Falseprint('name'ind) # True
(四)根据键,获取值
获取字典里的值,需要根据键来获取。语法是 d[key]
通过[]来获取值时,如果键不存在,会抛出异常 KeyError
d=dict([('name','aa'),('age',18)]) print(d['name']) # aa
还有一种方式获取字典里的值,就是 get(key[,default])
get 这种方式看起来有点麻烦,但是如果获取的键在字典中不存在,会返回 none
d=dict([('name','aa'),('age',18)]) print(d.get('name')) # aaprint(d.get('bb')) # None
(五)修改字典
修改字典的语法是 d[key]=value,如果key存在则修改,不存在则添加
d=dict([('name','aa'),('age',18)]) d['name']='孙悟空'print(d)
得到的结论是:{'name': '孙悟空', 'age': 18}
像字典中添加:
d=dict([('name','aa'),('age',18)]) d['sex']='男'print(d)
得到的结论是:{'name': 'aa', 'age': 18, 'sex': '男'}
setdefault,set 是设置,default 是默认,setdefault(key[,default])也可以用来向字典中添加 key-value,如果 key 已经存在于字典中,则返回 key 的值,不会对字典做任何操作;如果 key 不存在,则向字典中添加这个 key,并设置 value。
d=dict([('name','aa'),('age',18)]) result=d.setdefault('name','bb') print(result)
有name,则返回name的值 aa
d=dict([('name','aa'),('age',18)]) result=d.setdefault('sex','bb') print(result)
没有sex这个key,则向字典中添加这个key,并返回bbs
update,可将其他字典中的 key-value 添加到当前字典中
aa={"a":1,"b":2,"c":3} bb={"f":4,"d":5,"e":6} aa.update(bb) print(aa) # 执行后会是包含这两个字典的键值对
{'a': 1, 'b': 2, 'c': 3, 'f': 4, 'd': 5, 'e': 6}
但如果,bb={"c":4,"d":5,"e":6},最后aa 里面的 c 就被 bb替换掉变成4了