【发布时间】:2017-01-24 17:12:26
【问题描述】:
我有一个包含许多元素和不同长度行的二维列表。我们称它为 ListA。 我像这样订购 listA:
listA.sort(key=len)
我有另一个二维列表 (listB),我想像 A 一样排序。如果 A 的第 3 行成为第一行,则 B 的第三行必须先行,以此类推。
我该怎么办?
我不想使用 numpy。
编辑:我尽量说得更清楚:
假设一个矩阵A是这样制作的(原来的矩阵要大很多)
A = [
[
[86,98,98,0,0]
],
[
[79,71,105,1,1], [79,71,106,1,1], [80,72,105,0,2]
],
[
[86,81,27,1,1], [85,80,25,1,0]
],
[
[99,80,73,1,1], [99,81,73,2,1]
]
]
这个矩阵有 4 行不同的长度 (1, 3, 2, 2)。实际上,每个长度都包含我分析的坐标和其他值。 我想订购 A 以便首先我有最短的一排,最后是最长的一排。在这种情况下(1、2、2、3)
现在我还有另一个矩阵 B,它的行数与 A 相同,但与 A 相比长度可能不同。
B = [
[
[8,79,3],[8,77,42]
],
[
[10,83,70]
],
[
[9,81,74], [13,67,43], [4,15,88]
],
[
[5,14,88]
]
]
我想对 B 的行进行排序以对应 A 中的排序行。
【问题讨论】:
-
A 的行数是否与 B 的行数完全相同?如果是这样,那么也许你想要的是一个字典,它从 A 中获取键并为它们分配 B 的值。然后你可以用它做任何你需要的事情。
-
您是不是发布了一个列表示例以使其更有趣,或者它背后的想法是什么?
-
所有答案都不适合我。可能我说的不是很清楚。我正在编辑问题以使其更清楚。提出的所有答案都对矩阵进行排序,但不是按照我想要的方式。根据建议的答案,我得到第二个矩阵,第一行包含矩阵的所有元素并排序,而所有其他行都是空的。