簡體   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