2017-07-30 49 views
1

如果我有:創建一個新的字典使用現有和列表

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

我將如何創建與第一字典的按鍵和列表項的新字典,造成這?

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

你不能這樣做,字典沒有排序,不像列表 –

+0

除非你不關心訂單 –

+0

是a-d,z,t,s變量嗎?還是字符串? –

回答

4

爲了使按鍵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')]) 

有序詞典這裏,因爲這個問題纔有意義,如果該詞典是 S;否則,您不能保證adrenalist之間的成對一一對應關係。

相關問題