字典的特点:以键值对的形式存在,无序排序;key必须唯一不重复,且不能使用可变对象
声明一个字典
d = {}
print(d)
print(type(d))
增:
d[1] = ‘a’
d[2] = ‘c’
d[3] = ‘b’
print(d)
d.update({4:‘z’})
print(d)
dict.setdefault(key,value),如果该key不存在,则在字典中插入这个键值对,并返回value;如果该key已存在,则返回字典中key对应的value,原字典不做更新
d.setdefault(5,‘e’)
print(d)
d.setdefault(5,‘f’)
print(d)
dict.fromkeys(list,[value]),快速生成一个字典,key为list中的每个元素,value均为设置的value值,没有设置则默认为None
d1 = dict.fromkeys([1,2,3])
print(d1)
d2 = dict.fromkeys([4,5,6],‘a’)
print(d2)
删:
d.pop(key) #删除指定key的键值对
del d[key] #删除指定key的键值对
del d2[4]
d.clear() #清空字典
d2.clear()
d.popitem() #随机删掉一组键值对
d1.popitem()
d.pop(key,value) #如果key存在,则删除key并返回字典中key对应的value值,如果key不存在,则返回设置的默认value
d3 = {‘a’:1,‘b’:2}
d3.pop(‘a’,100)
print(d3)
d3.pop(‘c’,200)
print(d3)
改:
d[key] = value
d[2] = ‘h’
d.update({2,‘i’})
查:
d[2]
d.keys() #返回所有key组成的列表
d.values() #返回所有value组成的列表
d.items() #返回所有键值对组成的列表
排序:
按key排序:
sorted(d.items(),key=lambda e:e[0],reverse=False)
按value排序:
sorted(d.items(),key=lambda e:e[1],reverse=False)