2011-02-15 152 views
0

與Python結合名單我有兩個列表:使用兩個列表

f= ['A', 'A'] 
d = [(2096, 222, 2640), (1494, 479, 1285)] 

我想要的清單!

LL = [('A', 2096, 222, 2640), ('A', 1494, 479, 1285)] 

我親近 DIC =拉鍊(F,d)

但這給我這個:

[('A', (2096, 222, 2640)), ('A', (1494, 479, 1285))] 

?我怎樣才能LL?

回答

4

嘗試:

LL = [ (x,) + y for x, y in zip(f, d) ] 

此遍歷旋繞陣列,並將該元組到該元組外部的字符串(由創建一個新的元組,因爲元組是不可變的)。

1

zip命令確實,隨着字典:

>>>dict(zip([1,2,3],[1,2,3])) 
{1:1,2:2,3:3} 
+0

我不想要字典。 – Merlin 2011-02-15 22:49:55

+0

糟糕。我沒有仔細閱讀它的要求。抱歉。 – 2011-02-15 22:51:18

0
[(x,) + y for x,y in zip(f, d)] 
1

您還可以map()代替zip()

LL = map(lambda x,y:(x,)+y, f, d) 

(x,)做到這相當於tuple(x)

LL = map(lambda x,y:tuple(x)+y, f, d) 
0

其實你有一個字符串列表和元組的列表。元組是不可變的,所以你將不得不重構每個元組。

只有2項,你可以嘗試:

[tuple(f[0])+d[0], tuple(f[1])+d[1]] 

對於項目的N個尋找「列表理解」,例如這裏:http://docs.python.org/tutorial/datastructures.html或建立他們使用一個循環,如果這是更容易理解。