【问题标题】:Is there a faster way to extract elements in a list?有没有更快的方法来提取列表中的元素?
【发布时间】:2021-04-22 17:17:00
【问题描述】:

假设我有列表E = [1,2,1,4,5,4],我想提取E 中的第二、第三和第五个元素,让A = [2,3,5],有没有更快的方法可以获取这些元素?我试过E[A],但它不起作用。谢谢!

【问题讨论】:

  • new_E = [E[i] for i in A]
  • 如果速度真的很重要,您可以使用 numpy 数组(其中E[A] 会按照您的希望工作)

标签: python list


【解决方案1】:

试试这个:

E = [1,2,1,4,5,4]
A = [2,3,5]

nE = [ E[a] for a in A ]

【讨论】:

    【解决方案2】:

    operator 模块中的 itemgetter 函数可以满足您的需求:

    from operator import itemgetter
    E = [1,2,1,4,5,4]
    A = [2,3,5]
    print(itemgetter(*A)(E))
    

    但您可能需要完全不同的课程,具体取决于您的速度需求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 2012-12-22
      • 1970-01-01
      • 2019-10-09
      相关资源
      最近更新 更多