ฉันมีรายการชุดที่กำหนดโดย
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()