python - 是否有 python 方法根据提供的新索引重新排序列表?

标签 python numpy

假设我有一个工作列表: ['a','b','c'] 和一个索引列表 [2,1,0] 这会将工作列表更改为: ['c','b','a']

是否有任何 python 方法可以轻松地做到这一点(工作列表也可能是一个 numpy 数组,因此更倾向于使用更具适应性的方法)?谢谢!

最佳答案

  • 普通序列:

    L = [L[i] for i in ndx]
    
  • numpy.array:

    L = L[ndx]
    

例子:

>>> L = "abc"
>>> [L[i] for i in [2,1,0]]
['c', 'b', 'a']

关于python - 是否有 python 方法根据提供的新索引重新排序列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9008263/

相关文章:

python - 使用 `if a == b == c: pass;` 在 python 中有副作用吗?

python - 模块 'scipy.optimize' 没有属性 'anneal'

python - 识别 df 行之间的公共(public)元素以创建新列

python - Python 中的 Parseval 定理

Python 请求 post 不发送字符串

python - 弹性 map 减少误差

python - 如何使 Pandas 列名提取的迭代循环更加高效?

python - 使用 Numpy 查找函数 a x^n + bx - c = 0 的根,其中 n 不是整数?

python - 在所有方向和所有元素上获得一阶微分的最佳方法

python - 参数函数求和