如果有条件,如何遍历列表?

时间:2019-01-14 05:00:08

标签: python

尝试遍历数字范围(或列表)以检查值是否相等。看起来很简单,但是我似乎找不到解决方法。

我正在尝试使用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

4 个答案:

答案 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

如果您的数字不是整数,则会遇到浮点问题。