尝试遍历数字范围(或列表)以检查值是否相等。看起来很简单,但是我似乎找不到解决方法。
我正在尝试使用if statement
检查2D数组中项目的范围。
# check if x is equal to var if added to any number between 0 and 10.
if var == x + any(range(10)): # not how it works, but how I want it to
# do something
研究了any()
之后,我意识到,如果迭代中的任何项目为True
True
答案 0 :(得分:3)
以这种方式使用any
,也使用生成器:
if any(var==(x+i) for i in range(10)):
# do something
答案 1 :(得分:0)
您必须为此使用多个Python函数:
if var in list(map(lambda item: x+item, range(10)))
列表:将参数强制转换为列表对象。
地图:将函数(第一个参数)应用于值的集合(第二个参数)。
lambda :Lambda函数。
答案 2 :(得分:0)
您也可以使用此non-any
版本:
for i in range(10):
if var == (x+i):
break
答案 3 :(得分:0)
使用numpy的另一种方法:
import numpy as np
if var in x + np.arange(10) :
# do something
如果您的数字不是整数,则会遇到浮点问题。