我有一个列表和一个列表列表。我想压缩它们并在元组上运行循环。
例如:
list1 = [1, 2, 3, 4]
list2 = [[11, 12], [21, 22], [31, 32], [41, 42]]
我希望将以下内容作为输出并在每个元组中运行循环。
output = [(1, 11), (1, 12), (2, 21), (2, 22), (3, 31), ... ...]
我尝试了以下操作,但它没有用。
for candidate, reference in zip(list1, zip(*list2)):
print(candidate, reference)
答案 0 :(得分:1)
这是一个单循环的解决方案,但对我来说似乎是一种微观优化......
>>> list1 = [1, 2, 3, 4]
>>> list2 = [[11, 12], [21, 22], [31, 32], [41, 42]]
>>> output = []
>>> for x, (a,b) in zip(list1, list2):
... output.append((x,a))
... output.append((x,b))
...
>>> output
[(1, 11), (1, 12), (2, 21), (2, 22), (3, 31), (3, 32), (4, 41), (4, 42)]
>>>