if语句检查列表项[重复]

Posted

技术标签:

【中文标题】if语句检查列表项[重复]【英文标题】:if statement to check list items [duplicate] 【发布时间】:2018-09-09 10:49:00 【问题描述】:

我有以下列表和变量:

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

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

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

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

【问题讨论】:

不,我不是在寻找值的存在.. 是的,你是。您正在寻找v+1 if v+1 in x: print x.index(v+1) - 这可能会有所帮助。 “我有 X 并且我想要 Y”是一项工作任务,而不是一个问题。工作分配是你给员工的东西。 @MIBMinion 首先你说'从 v 中减去它' 然后你使用18 - 17 作为例子。应该从哪个中减去哪个? 【参考方案1】:

您可以通过使用if 语句的列表推导获得答案列表:

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

【讨论】:

【参考方案2】:

您的问题的正确答案已经在 cmets 中,但假设您尝试使示例更小以隐藏更复杂的问题(您替换减法的操作不可逆的问题),您可以在带有any 函数和列表理解的 Python:

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

【讨论】:

我给出了不同的答案,但这一个很棒。任何/所有内置插件都被低估了。 谢谢,这就是我想要的..

以上是关于if语句检查列表项[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Shell脚本-循环语句

如果列表项在swift中等于某个数字,是不是可以进行if语句?

需要帮助使用 If 语句和列表 [重复]

python - 如何在python中使用IF语句检查两个列表的元素是不是相等?

第五章-if语句

If语句是一个字符串还是字符串列表[重复]