我很难处理嵌套列表(我正在运行Python 3.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']]
现在我想获得每个字母的列表,所以我想把嵌套列表中具有相同索引的元素放到一个新列表中。所以我想把元素myLists [0] [0]和myList [1] [0]以及我的List [2] [0]等等传递给一个新的列表,它将会显示[' AO&# 39;,' 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
我很感激你的建议。
答案 0 :(得分:0)
您可以使用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']