私は与えられたセットのリストを持っています、
sets1 = [{1},{2},{1}]
私はnumpyののを使用して、このリストの中にユニークな要素を見つけたときunique
、私が取得します
np.unique(sets1)
Out[18]: array([{1}, {2}, {1}], dtype=object)
見てわかるよう{1}
に、出力で繰り返されるため、結果は間違っています。
同様の要素を隣接させることで入力の順序を変更しても、これは起こりません。
sets2 = [{1},{1},{2}]
np.unique(sets2)
Out[21]: array([{1}, {2}], dtype=object)
なぜこれが起こるのですか?それとも私がやった方法に何か問題がありますか?
sets1.sort()
が、リストの順序を変更しないという事実に関係しているのではないかと思います。私はあなたが関数を作成する必要があると思うf
あなたが好きな基準に基づいてセットをソートし、次にパスsets1.sort(key=f)
にnp.unique()