gpt4 book ai didi

python - 识别列表中接近 Python 给定数字的非零元素

转载 作者:太空宇宙 更新时间:2023-11-03 13:13:21 28 4
gpt4 key购买 nike

我有这样的列表:

lst = [1, 5, 0, 0, 4, 0]

编辑:我想找到列表中第一个不等于零的数字的位置,它是最接近给定的数字。

a = 3  # (given number)

它也应该返回 4 作为索引和值。我试过这个:

min(enumerate(lst), key=lambda x: abs(x[1]-a))

但它也显示 0 元素。

哪种方法更好?

最佳答案

如果我没理解错的话,在枚举后过滤掉零:

In [1]: lst = [1, 5, 0, 0, 4, 0]

In [2]: a = 3

In [3]: min(filter(lambda x: x[1] != 0, enumerate(lst)),
key=lambda x: abs(x[1] - a))
Out[3]: (4, 4)

您自己的示例确实会为给定值返回 (4, 4)a = 0 有区别。

关于python - 识别列表中接近 Python 给定数字的非零元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37607592/

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