我有两个清单:
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?
答案 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或者使用循环构建它们,如果这更容易理解的话。