如果我有:
adict = {'a':3, 'b':6, 'c':9, 'd':12}
alist = ['a', 'z', 't', 's']
如何使用第一个字典的键和列表中的项创建一个新的dict,从而产生这个?
bdict = {'a': 'a', 'b': 'z', 'c': 't', 'd': 's'}
答案 0 :(得分:3)
要将 adict 的键与 alist 中的值组合在一起,请使用zip()函数。
>>> from collections import OrderedDict
>>> adict = OrderedDict([('a', 3), ('b', 6), ('c', 9), ('d', 12)])
>>> alist = ['a', 'z', 't', 's']
>>> bdict = OrderedDict(zip(adict, alist))
>>> bdict
OrderedDict([('a', 'a'), ('b', 'z'), ('c', 't'), ('d', 's')])
我在这里使用了有序词典,因为这个问题只有在词典OrderedDict时才有意义;否则,您无法保证 adict 和 alist 之间成对一对一的对应关系。