使用现有字典创建新字典并列出

时间:2017-07-30 05:05:46

标签: python algorithm python-3.x dictionary

如果我有:

adict = {'a':3, 'b':6, 'c':9, 'd':12}
alist = ['a', 'z', 't', 's']

如何使用第一个字典的键和列表中的项创建一个新的dict,从而产生这个?

bdict = {'a': 'a', 'b': 'z', 'c': 't', 'd': 's'}

1 个答案:

答案 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 之间成对一对一的对应关系。