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

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

Linda Hamilton
發布: 2024-10-28 04:37:30
原創
501 人瀏覽過

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

列表中多個值的成員資格測試

問題:

問題:

如何進行一次測試如果多個值是Python中列表的成員?預期結果是傳回布林值,指示每個值的成員資格,但目前方法會產生意外的輸出。

解釋:

提供的程式碼片段,' ['b', 'a', 'foo', 'bar'] 中的a','b ' 未按預期運行,因為Python 將其解釋為元組而不是單一值的成員資格測試。

答案:
<code class="python">all(x in ['b', 'a', 'foo', 'bar'] for x in ['a', 'b'])</code>
登入後複製

要正確測試清單中多個值的成員資格,請使用以下表達式:

如果所有值都在清單中,則傳回True第二個清單是第一個清單的成員,否則為False。

其他選項:

<code class="python">set(['a', 'b']).issubset(set(['a', 'b', 'foo', 'bar']))
{'a', 'b'} <= {'a', 'b', 'foo', 'bar'}</code>
登入後複製

使用集合:

當清單中的元素可雜湊時,此方法效果很好,但如果清單很大,則效率可能較低。

速度測試:

基準結果顯示子集測試(使用集合)通常比all 表達式更快,但差異並不顯著,除非列表很小並且子集運算與集合一起使用。但是,如果清單中的元素不可散列或清單很大,則 all 表達式可能會更有效。

結論:使用 all 表達式通常是測試清單中多個值的好習慣,特別是當元素不可散列並且需要考慮效率時。如果元素是可散列的且清單很小,則子集測試可以提供輕微的速度優勢。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板