从嵌套列表创建元素列表[Python3.4]

2024-04-25 18:55:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在处理嵌套列表(我正在运行python3.4.4)。你知道吗

我有一个嵌套列表,其中我按字母顺序排列了子列表中的元素:

 sortedResults = [['A0', 'B3', 'C1', 'D2', 'E3', 'F3'], ['A0', 'B1', 'C1', 'D2', 'E0', 'F0'], ['A1', 'B0', 'C1', 'D1', 'E0', 'F0'], ['A0', 'B0', 'C1', 'D2', 'E1', 'F1'], ['A0', 'B0', 'C0', 'D1', 'E1', 'F1'], ['A1', 'B0', 'C0', 'D1', 'E1', 'F1']]

现在我想得到每个字母的列表,所以我想把嵌套列表中索引相同的元素放到一个新列表中。因此,我想获取myList[0][0]和myList[1][0]以及List[2][0]等元素,并将它们传递给一个新的List,它将看起来像['AO','A0','A1']

与myList[1][1]myList[1][1]myList[2][1]等相同

我试过:

outList = []
for index, nestedList in enumerate(sortedResults):
    for i, element in enumerate(nestedList):
        outList += [element, sortedResults[index+1][i]]
print(outList)

但它给了我一个错误:

  outList += [element, sortedResults[index+1][i]]
  IndexError: list index out of range

所以我也试着在循环中输入print,看看发生了什么:

outList = []
for index, nestedList in enumerate(sortedResults):
    for i, element in enumerate(nestedList):
        outList += [element, sortedResults[index+1][i]]
    print(outList)

然后它运行了一段时间,打印了一些看起来很有希望的输出,但最后出现了相同的错误:

 outList += [element, sortedResults[index+1][i]]
 IndexError: list index out of range

如果您能给我一些建议,我将不胜感激。你知道吗


Tags: in元素列表forindexelementb0a0
1条回答
网友
1楼 · 发布于 2024-04-25 18:55:15

你可以使用numpy数组,使工作更容易,他们也更快。你知道吗

import numpy as np

sortedResults = [['A0', 'B3', 'C1', 'D2', 'E3', 'F3'], 
                 ['A0', 'B1', 'C1', 'D2', 'E0', 'F0'],
                 ['A1', 'B0', 'C1', 'D1', 'E0', 'F0'],
                 ['A0', 'B0', 'C1', 'D2', 'E1', 'F1'], 
                 ['A0', 'B0', 'C0', 'D1', 'E1', 'F1'],
                 ['A1', 'B0', 'C0', 'D1', 'E1', 'F1']]

A = np.array(sortedResults)
for i in range(len(A)):
    print(A[:,i])

输出

['A0' 'A0' 'A1' 'A0' 'A0' 'A1']
['B3' 'B1' 'B0' 'B0' 'B0' 'B0']
['C1' 'C1' 'C1' 'C1' 'C0' 'C0']
['D2' 'D2' 'D1' 'D2' 'D1' 'D1']
['E3' 'E0' 'E0' 'E1' 'E1' 'E1']
['F3' 'F0' 'F0' 'F1' 'F1' 'F1']

相关问题 更多 >