dic1 = {'python': 100}
dic2 = {'c++': 99}
这是两个简单的字典,假如要求进行遍历,该如何操作呢?
最粗暴的方法是用两个 for
循环分别对他们进行遍历,
但这样做未免过于繁琐。
dic1 = {'python': 100}
dic2 = {'c++': 99}
for key, value in dic1.items():
print(key, value)
python 100
for key, value in dic2.items():
print(key, value)
c++ 99
from collections import ChainMap
dic1 = {'python': 100}
dic2 = {'c++': 99}
dic = ChainMap(dic1, dic2)
dic
ChainMap({'python': 100}, {'c++': 99})
需要注意的是 ChainMap
返回的对象类型并不是字典。
type(dic)
collections.ChainMap
for key, value in dic.items():
print(key, value)
c++ 99 python 100
dic1 = {'python': 100}
dic2 = {'c++': 99}
def pair_chain(*args):
for dic in args:
for key in dic:
yield key, dic[key]
for key, value in pair_chain(dic1, dic2):
print(key, value)
python 100 c++ 99
效果一点都不比 ChainMap
差。