Apa yang harus saya lakukan untuk menggunakan objek saya dari jenis khusus sebagai kunci dalam kamus Python (di mana saya tidak ingin "objek id" untuk bertindak sebagai kunci), misalnya
class MyThing:
def __init__(self,name,location,length):
self.name = name
self.location = location
self.length = length
Saya ingin menggunakan MyThing's sebagai kunci yang dianggap sama jika nama dan lokasinya sama. Dari C # / Java saya terbiasa harus menimpa dan memberikan metode kode hash dan sama, dan berjanji untuk tidak bermutasi apa pun tergantung kode hash.
Apa yang harus saya lakukan dengan Python untuk mencapai ini? Haruskah saya meratakan?
(Dalam kasus sederhana, seperti di sini, mungkin akan lebih baik untuk menempatkan tuple (nama, lokasi) sebagai kunci - tetapi pertimbangkan saya ingin kunci menjadi objek)
MyThing, jika mereka memiliki yang sama namedan location, untuk mengindeks kamus untuk mengembalikan nilai yang sama, bahkan jika mereka dibuat secara terpisah sebagai dua "objek" yang berbeda.