【问题标题】:Index position of an element元素的索引位置
【发布时间】:2021-01-24 11:24:25
【问题描述】:

那么,我有这段代码,如何找到零元素的具体索引?

arr =[1,0,2,0]
for i in arr:
    if i <=0:
        print(list(arr).index(i))
    else:
        print("greater")

打印:

greater
1
greater
1

目标:

greater
1
greater
3

【问题讨论】:

  • index() 将始终只返回第一次出现

标签: python list algorithm


【解决方案1】:

使用enumerate(),您将同时获得索引和值。比较值是否大于0。

arr = [1, 0, 2, 0]
for i, val in enumerate(arr):
    if val > 0:
        print('Greater!')
    else:
        print(i)

输出

Greater!
1
Greater!
3

【讨论】:

  • 我想看看:print('Greater!' if val &gt; 0 else i)
  • @ansev 是的,它也有效且更全面
【解决方案2】:

在 python 3 中,您可以使用以下行获取所有索引。

list(map(lambda x: x[0], filter(lambda enum_val: enum_val[1] > 0, enumerate(arr))))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    • 2012-05-27
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多