gpt4 book ai didi

python - "in" float 列表/元组语句

转载 作者:太空宇宙 更新时间:2023-11-03 12:57:02 25 4
gpt4 key购买 nike

在处理 float 的列表/元组时,是否应该避免使用innot in?它的实现类似于下面的代码还是更复杂?

check = False
for item in list_to_search_the_value_in:
if value_to_search_for == item:
check = True

最佳答案

innot in 应该是您首选的成员资格测试方式。两个运算符(operator)都可以使用(通过 __contains__() )容器提供的任何优化的成员资格测试。

您的问题出在 float 部分,因为 in== 进行相等比较(首先优化以检查身份) .

一般来说,对于 float 比较是否相等不会产生预期的结果。因此,对于 float 列表,您需要类似的东西

def is_in_float(item, sequence, eps=None):
eps = eps or 2**-52
return any((abs(item - seq_item) < eps) for seq_item in sequence)

与排序和二进制搜索一起使用,以在您方便时找到最接近的匹配 float 。

关于python - "in" float 列表/元组语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37613288/

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