繁体   English   中英

如何检查列表中大于或小于var整数

[英]How to check a list for greater or less than var integers

var=42

l = [1,2,3,7,3,5,21,8,44,16,13]

if l.index(5) < l.index(var-20):
    print ("True")  

else:
    print ("False")

我想选择一个值(var)并测试以查看哪个是列表中的第一个,即var +(例如20)或var-(再次可能是20)。

我在上面的代码中遇到的问题是,如果列表中不存在任何值,那么它将告诉我一个错误。

显然,您需要一种不同的方法来找到数字。 相反,让我们尝试计算一次您需要查找的数字。 假设跨度使用不同的数字,例如20高(使用的数值)和17低(出于差异)。

var = 42
target = [1,2,3,7,3,5,21,8,44,16,13]

lo_diff = 20
hi_diff = 17

lo_num = var - lo_diff
hi_num = var + hi_diff

# Check to see which of the two is in the list:

lo_index = target.index(lo_num) if lo_num in target else -1
hi_index = target.index(hi_num) if hi_num in target else -1

这样就为每个找到的值提供了准确的索引,如果找不到,则为-1。 我希望您可以从这里完成?


使用注意事项

学习相信布尔值。 您的输出块应该是一条语句:

if l.index(5) < l.index(var-20):
    print ("True")  
else:
    print ("False")

...减少到...

print( l.index(5) < l.index(var-20) )

只需打印布尔表达式的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM