创建字典
a = {'a': 1, 'b': 2} # 原始方式
b = dict(a = 1, b = 2) # 元组方式
c = dict([(a,1), (b,2)]) # 列表方式
li1 = [a, b]
li2 = [1, 2]
d = dict(zip(li1, li2)) # zip列表方式
e = dict.fromkeys(li1) # fromkeys列表方式
字典取值
a['a'] # 不存在会报错
a.get(a) # 推荐使用,如果不存在返回None
a.items() # 列出所有键值对
a.keys()
a.values()
字典的增删改
a['c'] = 3
a.update(b) # b字典覆盖a,有则改之,无则添加
del(a['c'])
a.clear()
b = a.pop('c') # 返回的结果是c的值
a.popitem() # 随机删除键值对
序列解包
方便对多个变量赋值
(a, b, c) = (1, 2, 3)
[a, b, c] = (1, 2, 3)
a
>>> 1
dict = {'a': 1, 'b': 2, 'c': 3}
a,b,c = dict.items()
a,b,c = dict
a,b,c = dict.values()
实现表格(重要)
r1 = {'name': 'lemon', 'age': 20, 'salary': 5000}
r2 = {'name': 'cat', 'age': 20, 'salary': 8000}
r3 = {'name': 'gas', 'age': 19, 'salary': 5000}
de = [r1,r2,r3]
# 打印薪资
# 必须使用range,否则报错不可iterable
for i in range(len(de)):
print(de[i].get('salary'))
# 打印表格
# end = "\t"对齐输出
for j in r1:
print(j, end = "\t")
print('\n')
for i in range(len(de)):
for j in r1:
print(de[i][j], end = " ")
print('\n')
字典的底层原理(重要)—— 散像元
集合 —— 列表的集合实现
a = {1,2,3,4,5}
b = set([1,2,3,4,5])
a.remove(5)
a|b / a.union(b)
a&b / a.intersection(b)
a-b / a.difference(b)