У мене є список наборів, наданих,
sets1 = [{1},{2},{1}]
Коли я знаходжу унікальні елементи в цьому списку за допомогою numpy's 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()