繁体   English   中英

从一个长度为偶数的列表和一个列表中创建一个元组(?)的列表

[英]Creating a list of tuples(?) from a list and list of lists of even length

鉴于

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')]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM