鉴于
a = ['1', '2']
b = [['a', 'b'], ['c', 'd']]
我怎样才能将这些列表转换成类似的格式[('1', 'a', 'b'), ('2', 'c', 'd')]
?我试图将它们压缩在一起,但我不想b
作为一个列表。任何帮助将非常感激。
zip 仍然是你的朋友:
[tuple([x] + y) for x, y in zip(a, b)]
试试这个:
[tuple([x] + y) for x, y in zip(a,b)]
我相信不是让它变得复杂,而是一种更简单的方法是展平嵌套的元组/列表
>>> a = ['1', '2']
>>> b = [['a', 'b'], ['c', 'd']]
>>> zip(a, *b)
[('1', 'a', 'c'), ('2', 'b', 'd')]
如果您不想使用列表推导,您可以这样做:
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')]