2014-02-28 72 views
2
keys = zip([x for x in range(0, 10)], [x for x in range(0, 10)]) 
print keys 

結果(與元組列表):如何使每個元素從列表解析zip()的列表?

[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9)] 

我怎樣才能代替元組的每個元素的列表,?下面的例子不工作:

keys = list(zip([x for x in range(0, 10)], [x for x in range(0, 10)])) 

下面的例子不工作,以及:

keys = zip([x for x in range(0, 10)], [x for x in range(0, 10)]) 
for i in keys: 
    i = list(i) 
print keys 

回答

4

您可以使用此列表中理解,其將該元組zip產量到列表:

>>>keys = [list(t) for t in zip(range(10), range(10))] 
>>>keys 
[[0, 0], [1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9]] 

順便說一下[x for x in range(0,10)]是矯枉過正,乾脆就做range(10)

沒有列表理解的另一種方法是:map(list, zip(range(10), range(10)))但使用Python 3,這不會返回一個列表,它將返回一個map對象。

相關問題