我有一个列表,
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()