按索引上的函数对数组进行排序

时间:2018-11-29 17:15:32

标签: python

考虑一个任意元素的列表 A 和另一个与 A 长度相同的数字列表 f 。我想对 A 进行排序,以使 A i 列按 f [ i ]。我目前的方法是

A=['a','b','c']
f=[3,2,1]
map(
  lambda (_,b): b,
  sorted(
    list(enumerate(A)),
    key=lambda (i, _): f[i]
  )
)

我认为这不是解决问题的最佳方法...老实说,这看起来更像LISP,而不是Python。

那么,实现这一目标的一种优雅方法是什么?

0 个答案:

没有答案