J'ai une liste d'ensembles donnés par,
sets1 = [{1},{2},{1}]
Lorsque je trouve les éléments uniques de cette liste à l'aide de numpy's unique
, j'obtiens
np.unique(sets1)
Out[18]: array([{1}, {2}, {1}], dtype=object)
Comme on peut le voir, le résultat est incorrect, comme cela {1}
est répété dans la sortie.
Lorsque je change l'ordre dans l'entrée en faisant des éléments similaires adjacents, cela ne se produit pas.
sets2 = [{1},{1},{2}]
np.unique(sets2)
Out[21]: array([{1}, {2}], dtype=object)
Pourquoi cela se produit-il? Ou y a-t-il quelque chose qui ne va pas dans ma façon de faire?
sets1.sort()
cela ne change pas l'ordre de la liste. Je pense que vous devez créer une fonctionf
pour trier les ensembles en fonction des critères que vous souhaitez, puis passersets1.sort(key=f)
ànp.unique()