gpt4 book ai didi

python - 获取一个列表并打印所有不等于 0 的元素的索引

转载 作者:太空宇宙 更新时间:2023-11-04 08:25:00 25 4
gpt4 key购买 nike

我必须获取一个列表,例如 [2,2,0,2],然后我需要为列表中不为 0 的元素返回一个新的索引列表,因此对于 [2, 2,0,2] 我需要返回 [0,1,3]。或者对于 [1,0,1,1],我需要返回 [0,2,3]。

def test(B):
for k in list(B):
if k > 0:
result = []
for i in range(len(B)):
result.append(i)
return result
test([2,2,0,2])
->[0,1,2,3]

我的问题是所有的索引都被返回了,我试图解决这个问题但没有成功。如果有人能帮助我,那就太好了,谢谢。

最佳答案

您可以使用 enumerate巧妙地实现这一目标:

def legal(B):
return [i for i, x in enumerate(B) if x]
# or if you want to cover more than numbers
# return [i for i, x in enumerate(B) if x != 0]

>>> legal([2,2,0,2])
[0, 1, 3]
>>> legal([1,0,1,1])
[0, 2, 3]

关于python - 获取一个列表并打印所有不等于 0 的元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58205817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com