1.定义:
a = {‘q’:1, ‘w’:2 ,‘e’:3}
b = {‘z’:[1,0],‘x’:{‘n’:5,‘m’:6},‘c’:’?’}
2.取值
a = {'q':1, 'w':2 ,'e':3}
k = a.keys()
v = a.values()
t = a.items()
print(k,'\t',v,'\t',t)
print(list(k),'\t',list(v),'\t',list(t))
结果:
dict_keys([‘q’, ‘w’, ‘e’]) dict_values([1, 2, 3]) dict_items([(‘q’, 1), (‘w’, 2), (‘e’, 3)])
[‘q’, ‘w’, ‘e’] [1, 2, 3] [(‘q’, 1), (‘w’, 2), (‘e’, 3)]
3.计算
- 取value的和
a = {'q':1, 'w':2 ,'e':3}
print(sum(a.values()))
结果:
6
- 取最大值
a = {'q':1, 'w':2 ,'e':3}
print(max(a.values()))
结果:
3
a = {'q':1, 'w':2 ,'e':3}
print(min(a.values()))
结果:
1
赋值/修改
- 修改value
b = {'z':[1,0],'x':{'n':5,'m':6},'c':'?'}
b['z'] = 'o'
print(b)
结果:
{‘z’: ‘o’, ‘x’: {‘n’: 5, ‘m’: 6}, ‘c’: ‘?’}
b = {'z':[1,0],'x':{'n':5,'m':6},'c':'?'}
b['z'][1] = 1
print(b)
结果:
{‘z’: [1, 1], ‘x’: {‘n’: 5, ‘m’: 6}, ‘c’: ‘?’}
b = {'z':[1,0],'x':{'n':5,'m':6},'c':'?'}
b['x']['n'] = 'p'
print(b)
结果:
{‘z’: [1, 0], ‘x’: {‘n’: ‘p’, ‘m’: 6}, ‘c’: ‘?’}
b = {'z':[1,0],'x':{'n':5,'m':6},'c':'?'}
b['x'] = 'p'
print(b)
结果:
{‘z’: [1, 0], ‘x’: ‘p’, ‘c’: ‘?’}
- 修改key(只能间接)
a = {'q':1, 'w':2 ,'e':3}
a['h'] = a.pop('q')
print(a)
结果
{‘w’: 2, ‘e’: 3, ‘h’: 1}
- 增加键值对
a = {'q':1, 'w':2 ,'e':3}
a['r'] = 'g'
print(a)
结果:
{‘q’: 1, ‘w’: 2, ‘e’: 3, ‘r’: ‘g’}
4.删除/清空
- del
- 删除整个字典
#删除整个字典
a = {'q':1, 'w':2 ,'e':3}
del a
print(a)
结果
name ‘a’ is not defined
- 删除字典某一键值对
a = {'q':1, 'w':2 ,'e':3}
del a['q']
print(a)
{‘w’: 2, ‘e’: 3}
- pop
a = {'q':1, 'w':2 ,'e':3}
a.pop('q')
print(a)
{‘w’: 2, ‘e’: 3}
- popitem
a = {'q':1, 'w':2 ,'e':3}
a.popitem()
print(a)
{‘q’: 1, ‘w’: 2}
- clear-清空
a = {'q':1, 'w':2 ,'e':3}
a.clear()
print(a)
{}
5.拼接(update)
无重复键则新增,又重复键则赋值
- 无重复键
a = {'q':1, 'w':2 ,'e':3}
b = {'z':[1,0],'x':{'n':5,'m':6},'c':'?'}
a.update(b)
print(a)
{‘q’: 1, ‘w’: 2, ‘e’: 3, ‘z’: [1, 0], ‘x’: {‘n’: 5, ‘m’: 6}, ‘c’: ‘?’}
- 有重复键
a = {'q':1, 'w':2 ,'e':3}
b = {'z':[1,0],'w':{'n':5,'m':6},'e':'?'}
a.update(b)
print(a)
{‘q’: 1, ‘w’: {‘n’: 5, ‘m’: 6}, ‘e’: ‘?’, ‘z’: [1, 0]}
6.自动生成字典
- fromkeys
dict_a = {}
a = ['q','w','e']
dict_a = dict_a.fromkeys(a)
print(dict_a)
{‘q’: None, ‘w’: None, ‘e’: None}
- zip()
a = ['q','w','e']
b = [1,2,3]
c = dict(zip(a,b))
print(c)
{‘q’: 1, ‘w’: 2, ‘e’: 3}
- dict()
a = [('name','zhangsan'),('abc', 123)]
print(dict(a))
{‘name’: ‘zhangsan’, ‘abc’: 123}
7.查找值
- get():不会新增键值对
a = {'q':1, 'w':2 ,'e':3}
print(a.get('q','无该key'))
print(a.get('l','无该key'))
print(a)
1
无该key
{‘q’: 1, ‘w’: 2, ‘e’: 3}
- setdefault():无则新增
a = {'q':1, 'w':2 ,'e':3}
print(a.setdefault('q','无该key'))
print(a.setdefault('l','无该key'))
print(a)
1
无该key
{‘q’: 1, ‘w’: 2, ‘e’: 3, ‘l’: ‘无该key’}
8.字典转列表
a = {'q':1, 'w':2 ,'e':3}
l = []
for k, v in a.items():
l.append((v, k))
print(l)
[(1, ‘q’), (2, ‘w’), (3, ‘e’)]
9.排序
a = {'q': 7, 'w': 5,'e': 3}
print(sorted(a.items(), key=lambda x:x[1]))
[(‘e’, 3), (‘w’, 5), (‘q’, 7)]