使用两个列表将列表与python组合在一起

时间:2011-02-15 22:46:13

标签: python list

我有两个清单:

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

我想要一份清单!

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

我很接近 dic = zip(f,d)

但这给了我这个:

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

我怎样才能获得LL?

5 个答案:

答案 0 :(得分:4)

尝试:

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

这会遍历复杂的数组,并将元组外的字符串添加到元组中(通过创建一个新的元组,因为元组是不可变的)。

答案 1 :(得分:1)

zip命令与dict一起执行:

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

答案 2 :(得分: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)

答案 3 :(得分:0)

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

答案 4 :(得分:0)

实际上,您有一个字符串列表和一个元组列表。元组是不可变的,所以你必须重建每个元组。

只有2件物品可以尝试:

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

对于N个项目,查找“list comprehension”,例如:http://docs.python.org/tutorial/datastructures.html或者使用循环构建它们,如果这更容易理解的话。