[英]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.