使用Python 驗證清單中是否存在元素
在Python 中,檢查清單中是否不存在元素可以透過「不在」運算符。然而,在處理元組清單時會出現一個常見的陷阱。
初始程式碼:
在提供的程式碼中:
if curr_x -1 > 0 and (curr_x-1 , curr_y) not in myList: # Do Something
程式設計師僅當特定元組(curr_x-1, curr_y)不在myList 中時才執行「if」分支。但是,程式碼似乎出現故障。
問題原因:
問題並非源自於邏輯表達式 (curr_x-1 , curr_y) 不在 myList 中。如果清單中不存在元組,則此表達式的計算結果正確為True;如果存在,則計算結果為False,如以下範例所示:
>>> 3 not in [2, 3, 4] False >>> 3 not in [4, 5, 6] True
元組與列表:
該錯誤可能位於程式碼的其他地方。與列表不同,元組在 Python 中是不可變的。這意味著元組一旦創建就無法修改。如果您嘗試修改它,將會引發 TypeError,這可能會中斷「not in」運算子的操作。
解決方案:
避免任何潛在的風險問題,請確保清單中的元組和您要檢查是否存在的元組在整個代碼中保持不變。如果需要修改,請考慮使用清單而不是元組。
以上是為什麼 Python 中的元組「not in」不能如預期般運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!