集合轉換中的順序變更
在 Python 中將清單轉換為集合時,元素的順序似乎被修改。這可能會令人費解,因為列表維持其元素的順序,而集合是無序的資料結構。造成這種差異的原因在於集合的基本性質。
集合旨在執行有效的成員資格測試,並且不保留元素的插入順序。這是因為集合在內部表示為哈希表,其中元素以打亂的方式儲存以便更快地找到。
如何保留順序
如果需要保留為了保證資料集合中的順序,有幾種使用集合的替代方法:
B = set([6, 20, 1]) result = [x for x in A if x not in B]
import collections A = collections.OrderedDict.fromkeys([1, 2, 20, 6, 210]) B = collections.OrderedDict.fromkeys([6, 20, 1]) result = collections.OrderedDict.fromkeys(x for x in A if x not in B)
以上是為什麼將列表轉換為集合會改變順序,以及如何保留它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!