У меня есть список наборов, заданных,
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()