if语句检查列表项

时间:2018-03-30 11:35:26

标签: python if-statement

我有以下列表和变量:

x = [1,2,17,4,5,7,11]
v = 18

并且我希望(在单个if语句中)在列表中搜索以检查它是否包含一个项目,如果我们从v变量中减去“或任何其他操作”,它将等于一个“作为示例”

对于上面的例子,if语句将产生True,因为我们有项目18(18-17 = 1)。

我们可以在单个if语句(不使用单独的循环)中使用python吗?

2 个答案:

答案 0 :(得分:3)

你的问题的正确答案已经在评论中,但假设你试图让你的例子更小,以隐藏一个更复杂的问题(你替换减法的操作是不可逆的),你可以在具有any函数和列表解析的Python:

x = [1,2,18,4,5,7,11]
v = 17
if any([a - v == 1 for a in x]):
    print("Found it!")

答案 1 :(得分:2)

您可以使用if声明的列表理解来获取答案列表:

x = [1,2,18,4,5,7,11]
v = 17
answers = [i for i in x if i-v==1]
print(answers) # [18]