2015-09-17 64 views
1

我有一個巨大的列表,並希望將其轉換爲像這樣的字典。 輸出字典:{'a','b','c','d','e','f','g','h'] 輸出字典:{'a' 'c':'d','e':'f','g':'h'}我想讓序列保持完整。我讀了另一篇文章,它使用itertools中的izip。我試着用它:將列表轉換爲字典保持序列完好

from itertools import izip 
i = iter(list_name) 
dic = dict(izip(i, i)) 

但它給了我一個字典,所有的序列混亂。此外,該列表還有一些元素。

回答

1

類型的字典無序您可以使用OrderedDict維護插入順序:

from collections import OrderedDict 

from itertools import izip 
i = iter(list_name) 
dic = OrderedDict(izip(i, i)) 

輸出:

In [3]: list_name = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']  
In [4]: i = iter(list_name) 
In [5]: dic = OrderedDict(izip(i, i)) 
In [6]: dic 
Out[6]: OrderedDict([('a', 'b'), ('c', 'd'), ('e', 'f'), ('g', 'h')]