字典{dict}
字典属于一种新的数据结构,成为映射(mapping)
字典的作用和列表类似,都是用来存储随想的容器
列表的存储性能好,但是查询数据的性能很差
在字典中每一个元素都有唯一的一个名字,通过这个唯一的名字
修改字典
#d[key]=value 如果key存在则覆盖,不存在则添加
d={'name':'kyle','age':18}
#d[key]=value 如果key存在则覆盖,不存在则添加
d['name']='jessica'#修改字典的key-value
d['address']='sydney'
print(d)
#d.setdefault(key,value)可以用来向字典中添加key-value
如果key已经存在于字典中,则反馈key值,不会对字典做任何操作
如果key不存在,则向字典中添加这个key,并设置value
d={'name':'kyle','age':18}
re=d.setdefault('name',17)
print(re,d)
c={'name':'kyle','age':18}
re=c.setdefault('year',2021)
print(re,c)
update([other])
将其他字典中的key-value添加到当前字典中
如果有重复的key,则后面会替换到当前的
d={'name':'kyle','age':18}
c={'name':'cindy','age':25,'address':'beijing'}
d.update(c)
print(d)
删除,可以使用del 来删除字典中的 key-value
如果删除字典中不存在的key会报错
del d['name']
d={'name':'kyle','age':18}
del d ['name']
print(d)
popitem()
随机删除字典中的一个键值对,删除之后,它会将删除的key-value作为返回值返回
返回的是一个元组,元组中有两个元素,第一个元素是删除的key,第二个是删除的value
d.popitem()
result=d.popitem()
d={'name':'kyle','age':18}
re=d.popitem()
print(d,re)
pop(key[,default])
根据key删除字典中的key-value
会将被删除的value返回!
如果删除不存在的key,会抛出异常;如果指定了默认值,再删除不存在的key时,不会报错,而是直接返回默认值
d={'name':'kyle','age':18,'address':'beijing'}
re=d.pop('name')
print(d,re)
c=d.pop('z','默认值')
print(d,c)
clear()用来清空字典
d.clear()
d={'name':'kyle','age':18}
d.clear()
print(d)
copy()
用来对字典进行浅复制
赋值以后的对象,和元对象是独立的,修改一个不会影响另一个
注意浅复制会简单赋值对象内部的值,如果值也是一个可变对象,这个可变对象不会被复制
d={'name':'kyle','age':18,'address':'beijing'}
re=d.copy()
d['name']='jessica'
print(re)
f={'name':{1:'apple',2:'kiwi'},'age':18,'address':'beijing'}
c=f.copy()
f['name'][1]='jessica'
f['age']=19
print(c)
遍历字典
keys()该方法会返回字典所有的key,该方法会返回一个序列,序列中会保存字典中所有的键
通过遍历keys()来获取所有的键
d={'name':'kyle','age':18,'address':'beijing'}
print(d.keys())
for k in d.keys():
print(k,d[k])
values()
该方法会返回一个序列,序列中保存字典所有的值
d={'name':'kyle','age':18,'address':'beijing'}
print(d.values())
for k in d.values():
print(k)
items()
会返回字典中所有的项,他会返回一个序列,序列中包含双值子序列
d={'name':'kyle','age':18,'address':'beijing'}
print(d.items())
for k,v in d.items():
print(k,'=',v)