繁体   English   中英

列表中的列表和 for 循环

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

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