Tôi có một danh sách các bộ được đưa ra bởi,
sets1 = [{1},{2},{1}]
Khi tôi tìm thấy các yếu tố duy nhất trong danh sách này bằng cách sử dụng numpy unique
, tôi nhận được
np.unique(sets1)
Out[18]: array([{1}, {2}, {1}], dtype=object)
Như có thể thấy, kết quả là sai như {1}
được lặp lại trong đầu ra.
Khi tôi thay đổi thứ tự trong đầu vào bằng cách đặt các phần tử tương tự liền kề, điều này không xảy ra.
sets2 = [{1},{1},{2}]
np.unique(sets2)
Out[21]: array([{1}, {2}], dtype=object)
Tại sao điều này xảy ra? Hoặc có điều gì đó sai trong cách tôi đã làm?
sets1.sort()
nó không thay đổi thứ tự của danh sách. Tôi nghĩ rằng bạn cần tạo một hàmf
để sắp xếp các bộ dựa trên bất kỳ tiêu chí nào bạn muốn và sau đó chuyểnsets1.sort(key=f)
đếnnp.unique()