1. ホーム
  2. python

[解決済み] Pythonは順序集合を持つか?

2022-03-16 11:57:49

質問

Pythonは 順序付き辞書 . 順序付き集合はどうでしょうか?

どのように解決するのですか?

を使用することができます。 順序付きセット (可能な 新規リンク から参照される)レシピです。 Python 2 ドキュメント . Py2.6以降、3.0以降で修正することなく動作します。初期化をリストで行うことを除けば、インターフェイスは通常のセットとほとんど同じです。

OrderedSet([1, 2, 3])

これは、MutableSetなので、署名は .union はセットと一致しませんが、このセットには __or__ というように、簡単に追加することができます。

@staticmethod
def union(*sets):
    union = OrderedSet()
    union.union(*sets)
    return union

def union(self, *sets):
    for set in sets:
        self |= set