[英]Lists in lists and for loops
如果我有包含 x 列表的列表,例如
[[(1,2),(1,4)],[(7,5),(5,4)]]
我如何获得另一个列表,该列表获取列表中所有元组的第一个数字并将它们放入列表中,然后获取列表中所有元组的第二个数字并将它们放入第二个列表中。我应该如何获得有 3 个 for 循环
示例的预期 output:
[(1,1),(7,5)],[(2,4),(5,4)]
L = [[(1,2),(1,4)],[(7,5),(5,4)]]
result = list()
fIndexesList = list() #first items
sIndexesList = list() #second items
for item in L:
fIndexesTuple = list()
sIndexesTuple = list()
for innerItem in item:
fIndexesTuple.append(innerItem[0])
sIndexesTuple.append(innerItem[1])
else:
fIndexesList.append(tuple(fIndexesTuple))
sIndexesList.append(tuple(sIndexesTuple))
else:
result.append(fIndexesList)
result.append(sIndexesList)
print(result)
这应该可以工作 顺便说一下,您可以在 function 中使用循环
您可以尝试使用zip
:
numbers = [[(1, 2), (1, 4)], [(7, 5), (5, 4)]]
result = [list(tuples) for tuples in zip(*(zip(*tuples) for tuples in numbers))]
结果:
[[(1, 1), (7, 5)], [(2, 4), (5, 4)]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.