补充知识,各种表达式的效果:
tasks = [
1,
2,
3
]
a = (i for i in tasks) #这种情况生成的是生产器,可以用来迭代
b = [i for i in tasks] #生成的是列表
c = {i for i in tasks} #这种情况下生成的是set (很意外吧)
d = {i:1 for i in tasks} #这种情况下生成的是字典
print(type(a))
print(type(b))
print(type©)
print(type(d))
运行结果:
<class ‘generator’>
<class ‘list’>
<class ‘set’>
<class ‘dict’>
其实在我们的工作开发过程中是有很多的时候出现字典列表,或者字典多层嵌套,而此时我们就是在遍历,代码写的冗长,而现在其实我们是有别的办法的。
ChainMap
ChainMap主要是将多个字典组合在一起,然后进行操作
In [6]: a = {“x”:1, “z”:3}
In [7]: b = {“y”:2, “z”:4}
In [8]: c = ChainMap(a, b)
In [9]: c
Out[9]: ChainMap({‘z’: 3, ‘x’: 1}, {‘z’: 4, ‘y’: 2})
n [10]: c[“z”]
Out[10]: 3
In [11]: c[“z”] = 4
#只会读写第一个字典里面的值
In [12]: c<