【发布时间】:2018-01-30 11:45:48
【问题描述】:
假设我想像here 解释的那样对列表列表进行排序:
>>>L=[[0, 1, 'f'], [4, 2, 't'], [9, 4, 'afsd']]
>>>sorted(L, key=itemgetter(2))
[[9, 4, 'afsd'], [0, 1, 'f'], [4, 2, 't']]
(或使用 lambda。)现在我有第二个列表,我想按相同的顺序排序,所以我需要 新的索引顺序。 sorted() 或 .sort() 不返回索引。我怎样才能做到这一点?
实际上,在我的例子中,两个列表都包含 numpy 数组。但是对于这种情况,numpy 排序/argsort 也不直观。
【问题讨论】:
-
想要的输出最终是什么?
-
我想说第一步是给我们一个完整的例子。我没有看到第二个列表。我也没有看到 numpy。
-
那么根据第一个
list上执行的移位,订购第二个?如果是,请在订购前zip他们。 -
您能否显示您的第二个列表和预期的输出,以使这一点更清楚?如果你的第二个列表是
[1,2,3],你想把它排序为[3,1,2],对吧?