【问题标题】:obtain the index of elements in a list that satisfy a condition [duplicate]获取列表中满足条件的元素的索引
【发布时间】:2019-06-06 17:21:39
【问题描述】:

我正在尝试索引整数列表的位置,以获得 >0 的整数的位置。

这是我的清单:

paying=[0,0,0,1,0,3,4,0,5]

这是所需的输出:

[3,5,6,8]

rdo=paying[paying>0]

并尝试过:

rdo=paying.index(paying>0)

两种情况的输出都是

typeerror > not suported between instances of list and int

【问题讨论】:

  • paying[paying>0] 是 numpy 语法

标签: python list


【解决方案1】:

使用list comprehensionsenumerate内置函数:

paying=[0,0,0,1,0,3,4,0,5]
print([i for i, e in enumerate(paying) if e > 0])

[3, 5, 6, 8]

【讨论】:

    【解决方案2】:

    您可以使用列表推导。

    paying=[0,0,0,1,0,3,4,0,5]
    result = [index for index, value in enumerate(paying) if value > 0]
    

    【讨论】:

      【解决方案3】:

      使用枚举:

      paying=[0,0,0,1,0,3,4,0,5]
      [i for i, e in enumerate(paying) if e > 0]
      

      [paying.index(e) for e in paying if e > 0]
      
      Result:  [3, 5, 6, 8]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-08
        • 1970-01-01
        • 1970-01-01
        • 2020-01-22
        • 2021-02-15
        • 1970-01-01
        相关资源
        最近更新 更多