首頁  >  文章  >  後端開發  >  如何準確測試 Python 清單中多個值的成員資格?

如何準確測試 Python 清單中多個值的成員資格?

Susan Sarandon
Susan Sarandon原創
2024-10-28 18:32:29965瀏覽

How to Accurately Test for the Membership of Multiple Values in a Python List?

測試Python 清單中多個值的成員資格

在Python 中,使用'in' 測試清單中多個值的成員資格運算符可能會導致意想不到的結果。考慮以下範例:

結果 'a', True 表示清單中存在 'a',但它不指定 'b' 是否也存在。這是因為 Python 將 'in' 表達式視為一個元組,從而產生如上所示的輸出。

要準確檢查列表中是否同時存在'a' 和'b',您可以使用以下命令方法:

這個表達式確保列表['a', 'b '] 中的每個元素都包含在容器['b', 'a', 'foo', 'bar' 中]。如果任何元素不存在,則表達式將傳回 False。

替代選項

除了 'all' 函數之外,還有其他方法來執行此檢查,但它們可能不如「全部」方法那麼通用。

  • 集合交集:集合可用於使用「issubset」方法測試成員資格。但是,集合只能包含可哈希元素,這限制了它們對某些類型資料的適用性。
  • 產生器表達式:產生器表達式可用於執行與「all」相同的操作,但它可能無法有效地處理所有類型的輸入。

速度注意事項

在某些情況下,子集測試可能比「全部」更快方法,特別是當容器和測試物品較小時。然而,整體速度差異不足以證明子集測試的壓倒性使用是合理的。

需要注意的是,「in」的行為取決於左側參數的類型。例如,使用帶有字串的“in”將連接值而不是測試成員資格。

選擇測試清單中多個值的成員資格的最佳方法取決於特定要求、涉及的資料類型,以及效能考慮因素。

以上是如何準確測試 Python 清單中多個值的成員資格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn