[英]“ValueError: list.index(x): x not in list” in Python, but it exists
[英]python list.index() ValueError not IndexError
我懷疑這是歷史性的,但文檔中沒有任何解釋。
demo = 'zero', 'one', 'two'
a = demo.index('three')
將引發 ValueError。
dict()['three'] and demo[100]
引發 KeyError、IndexError
我發現 IndexError 對於 list.index 失敗更合乎邏輯。 您未能找到所請求鍵的索引。
我對嗎? 這么久了還改不了? 或者 ValueError 是失敗 list.index 的正確選擇
我還注意到 LookupError 有父母:KeyError,IndexError
但不是 AttributeError ,它實際上是來自dict的 keyError
這里引發 ValueError 的問題是在列表(或元組或其他)中找不到該值。
在您的第二個示例中,它是 KeyError 或 IndexError 的原因是因為在您的搜索中找不到鍵或索引(在這些情況下,您正在搜索鍵或索引)。
運行 list.index() 時,您正在搜索一個值。
因此,當找不到時,會引發 ValueError 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.