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

时间:2017-05-23 16:15:34

标签: python list indexing integer

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)。

我对上述代码的问题是,如果列表中没有值,那么它会告诉我一个错误。

1 个答案:

答案 0 :(得分:2)

显然,您需要一种不同的方法来查找数字。相反,让我们尝试计算一次您需要查找的数字。让我们假设跨度的数字不同,例如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) )

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