说我有几个列表
A = [1,2,3]
B = [4,5,6]
C = [7,8,9]
如何创建新列表以使它们包含匹配的索引,如:
D = [1,4,7]
E = [2,5,8]
F = [3,6,9]
原始列表将始终包含相同数量的元素,我需要这个元素适用于任意数量的元素和任意数量的列表,而不仅仅是三个。我想我需要循环一个范围,但我不知道如何去做。
答案 0 :(得分:6)
如果我理解正确,您可能正在寻找zip():
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> c = [7, 8, 9]
>>> zipped = zip(a, b, c)
>>> zipped
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
如果不是多个列表,而是列出了要压缩的列表,那么可以使用*
解压缩子列表,如下所示:
>>> myListOfLists = [[1,2,3],[4,5,6],[7,8,9]]
>>> zipped = zip(*myListOfLists)
>>> zipped
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]