[英]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.