鉴于此
a = ['1', '2']
b = [['a', 'b'], ['c', 'd']]
我怎样才能将这些列表变成[('1', 'a', 'b'), ('2', 'c', 'd')]
这样的格式?我试图将它们压缩在一起,但我不希望b
作为列表。任何帮助将不胜感激。
答案 0 :(得分:3)
zip仍然是你的朋友:
[tuple([x] + y) for x, y in zip(a, b)]
答案 1 :(得分:1)
试试这个:
[tuple([x] + y) for x, y in zip(a,b)]
答案 2 :(得分:1)
我相信不是让它变得复杂,更简单的方法是展平嵌套的元组/列表
>>> a = ['1', '2']
>>> b = [['a', 'b'], ['c', 'd']]
>>> zip(a, *b)
[('1', 'a', 'c'), ('2', 'b', 'd')]
答案 3 :(得分:0)
如果您不想使用列表理解,可以这样做:
zip(a, *(zip(*b)))
例如:
a = ['1', '2']
b = [['a', 'b'], ['c', 'd']]
new_list = zip(a, *(zip(*b)))
结果:
>>> new_list
[('1', 'a', 'b'), ('2', 'c', 'd')]