使用可連結方法反轉列表
在您提供的程式碼片段中,您嘗試使用.reverse() 方法反轉列表,然後立即連結反向列表上的另一個方法(.index)。但是, .reverse() 就地修改清單並傳回None,這就是您收到錯誤AttributeError: 'NoneType' object has no attribute 'index'.
要避免此問題,您可以使用切片以返回列表的反向副本。使用[::-1] 進行切片會反轉清單中元素的順序,並建立一個新清單而不修改原始清單:
formation[::-1]
此表達式傳回形成清單的反向副本,您可以使用該副本然後可以使用以下方法調用.index:
def solution(formation): return (formation.index(bCamel) > (len(formation) - 1 - (formation[::-1]).index(fCamel)))
通過此修改,解決方案函數將成功確定'B' (bCamel) 的索引是否在編隊列表大於反轉編隊列表中「F」(fCamel)的索引減去編隊清單的長度。這本質上是檢查反向排列中“B”是否位於“F”之前。
以上是為什麼使用'.reverse()”方法後在清單上呼叫'.index”會導致'AttributeError”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!