【问题标题】:How to efficiently extract list index if its element satisfy in between condition in Python如果它的元素满足Python中的条件,如何有效地提取列表索引
【发布时间】:2021-10-02 00:50:13
【问题描述】:

目标是提取列表索引,如果它的元素位于两个引用值之间。

下面的代码回答了目标。

l=[0,61,83,99]

range_set=[(first, second) for first, second in zip ( l, l [1:] )]
range_el = range ( 6, 100, 6 )
all_set=[]
for x,y in range_set:
    val=[idx for idx, element in enumerate ( range_el ) if x <= element  and element <= y]
    all_set.append(val)

但我想知道是否有更紧凑和更有效的方法来实现相同的目标。欢迎使用Numpy 推荐

【问题讨论】:

  • 您是在收集idxelement 中的val 吗?

标签: python numpy indexing conditional-statements


【解决方案1】:

试试

arr = np.arange ( 6, 100, 6 )

val=np.nonzero(x<arr)&(arr<y))[0]

代替你内心的理解。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    相关资源
    最近更新 更多