0
如果元素是列表中的最後一個元素,是否有返回True
的函數?如果元素是列表中的最後一個元素,是否有任何返回True的函數?
如果元素是列表中的最後一個元素,是否有返回True
的函數?如果元素是列表中的最後一個元素,是否有任何返回True的函數?
使用相等和項目訪問;負索引給你的項目從開始計數:
some_list[-1] == element
這表達True
當some_list
的最後一個項目,並通過element
引用的值相等。
演示:
>>> lst = ['foo', 'bar', 'baz']
>>> lst[-1] == 'foo'
False
>>> lst[-1] == 'baz'
True
如果element
可以在列表中不止一次,只想True
如果是在列表中的最後一個項目,而不會發生在其他地方,然後測試明確:
some_list[-1] == element and some_list.index(element) == len(some_list) - 1
這工作,因爲如果有一個以上的some_list
的element
一個發生,list.index()
方法會找到一個比更低的指數3210。表達式在性能和掃描其他事件的需求之間達成了平衡;如果some_list[-1] == element
測試失敗,則無需掃描整個列表。
非常感謝! – Rakanoth
這只是檢查值是否匹配最後一個元素的值。如果該元素實際上是列表中的最後一個元素,則不是。你可以有一個列表,該值的出現不止一次。 – M4rtini
@ M4rtini:在那裏,增加了一個額外的測試來驗證'element'只出現一次;它應該儘可能早地短路,所以我使用'list.index()'而不是'list.count()'或切片。 –