У мене є список наборів, наданих,
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()