使用两个列表
问题描述:
与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?
答
尝试:
LL = [ (x,) + y for x, y in zip(f, d) ]
此遍历旋绕阵列,并将该元组到该元组外部的字符串(由创建一个新的元组,因为元组是不可变的)。
答
zip命令确实,随着字典:
>>>dict(zip([1,2,3],[1,2,3]))
{1:1,2:2,3:3}
答
[(x,) + y for x,y in zip(f, d)]
答
您还可以map()
代替zip()
LL = map(lambda x,y:(x,)+y, f, d)
(x,)
做到这相当于tuple(x)
LL = map(lambda x,y:tuple(x)+y, f, d)
答
其实你有一个字符串列表和元组的列表。元组是不可变的,所以你将不得不重构每个元组。
只有2项,你可以尝试:
[tuple(f[0])+d[0], tuple(f[1])+d[1]]
对于项目的N个寻找“列表理解”,例如这里:http://docs.python.org/tutorial/datastructures.html或建立他们使用一个循环,如果这是更容易理解。
我不想要字典。 – Merlin 2011-02-15 22:49:55
糟糕。我没有仔细阅读它的要求。抱歉。 – 2011-02-15 22:51:18