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