我從這個網站上的其他帖子中知道,(1)python 中的集合不是有序的,但是(2)在現代版本的 Python 中,獲得有序集合的一個好方法是使用字典(現在保留鍵/值插入順序) 與None值。這看起來不錯,但是有沒有一種簡單的方法來獲得與常規集具有相同 API 的有序集?例如我做的一套
color_set = set()
color_set.add('red')
color_set.add('blue')
color_set.add('red')
color_set.add('yellow')
我用字典
color_set = dict()
color_set['red'] = None
color_set['blue'] = None
color_set['red'] = None
color_set['yellow'] = None
語法不同。我想我可以這樣做:
class OrderedSet(dict):
def add(self, value)
self[value] = None
但是,如果set我想OrderedSet擁有其他功能怎么辦?我是否只需要維護自己的OrderedSet課程并隨時添加功能?有沒有一種簡單的方法可以OrderedSet使用相同的 API來實作set?
uj5u.com熱心網友回復:
您可以查看有序集庫。首先使用pip install ordered-set.
然后你可以這樣做,
from ordered_set import OrderedSet
color_set = OrderedSet()
color_set.add('red')
color_set.add('blue')
color_set.add('red')
color_set.add('yellow')
輸出將是,
OrderedSet(['red', 'blue', 'yellow'])
它具有 python 集合具有的其他基本功能,并且其他維護它,因此您不必這樣做。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/513609.html
標籤:Python字典放
上一篇:從字串鍵值中提取坐標
