我尝试使用Python / NumPy对列表列表进行排序"其中包括" row,col,value"的子列表提取了一系列我已压缩到列表中的numpy数组元素。我尝试对这些子列表中的第3项进行排序,并且itemgetter排序在相对较小的列表上运行正常,但是当我进入数百万个元素的列表时,排序失败。
我正在使用:
zip(*np.where(detected_locations))
创建一个行/列值的初始列表,我将通过迭代来提取数组元素并附加到每个子列表,从而导致列表未排序...
[(0, 108, 94.16000366210938), (0, 131, 94.8499984741211), (0, 177, 95.41000366210938), (0, 210, 95.63999938964844), (0, 250, 95.75), (0, 256, 95.87999725341797), (0, 269, 95.97000122070312), ...
我想排序第3个元素,到这个列表:
[(375, 722, 80.83000183105469), (375, 727, 80.87999725341797), (378, 728, 80.87999725341797), (373, 717, 80.9000015258789), (374, 725, 80.9000015258789), (378, 723, 80.9000015258789),
这是适用于较小列表的代码,但不适用于较大的列表:
SortedList = sorted(theList,key=itemgetter(2))
有人可以建议替代解决方案吗?我需要做的就是能够遍历第3个元素的每个行/列条目按升序排列。