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语句检查列表项[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如果列表项在swift中等于某个数字,是不是可以进行if语句?