首頁 >後端開發 >Python教學 >Python 是否提供原生有序集?

Python 是否提供原生有序集?

Barbara Streisand
Barbara Streisand原創
2025-01-05 11:04:40121瀏覽

Does Python Offer a Native Ordered Set, and How Can One Be Emulated?

在 Python 中探索有序集

Python 提供了有序字典,但是它提供有序集嗎?讓我們深入研究這個查詢並發現 Python 中可用的潛在解決方案。

有序集的缺失

與有序字典不同,Python 本身並不支持有序集。然而,引入有序集對於維護元素順序同時消除重複項是一個有益的功能。

使用字典模擬有序集

從 Python 3.7 開始,一個簡單的透過使用 dict 類別方法 fromkeys(),可以將字典用作有序集。此方法僅接受鍵(將值設為 None),有效模擬有序集功能。

範例用法

要展示用法,請考慮關鍵字清單:[ 'foo'、'bar'、'bar'、'foo'、'baz' 、'foo']。要在保留順序的同時過濾掉重複項,只需使用 fromkeys() 方法並檢索keys()。

>>> keywords = ['foo', 'bar', 'bar', 'foo', 'baz', 'foo']

>>> list(dict.fromkeys(keywords))
['foo', 'bar', 'baz']

舊版 Python 版本的替代方案

對於舊版Python 版本中,collections.OrderedDict 類別可以充當有序集。它提供了與用字典模擬有序集類似的功能。

總之,雖然 Python 不提供原生有序集,但巧妙地使用字典和集合。 OrderedDict 類別可以有效地完成相同的任務,使開發人員能夠處理Python 程式碼中的有序集。

以上是Python 是否提供原生有序集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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