ฉันต้องทำอย่างไรเพื่อใช้วัตถุที่กำหนดเองเป็นประเภทในพจนานุกรม Python (ที่ฉันไม่ต้องการให้ "object id" ทำหน้าที่เป็นกุญแจสำคัญ) เช่น
class MyThing:
def __init__(self,name,location,length):
self.name = name
self.location = location
self.length = length
ฉันต้องการใช้ MyThing เป็นกุญแจที่ถือว่าเหมือนกันหากชื่อและที่ตั้งเหมือนกัน จาก C # / Java ฉันเคยต้องลบล้างและให้วิธีเท่ากับและ hashcode และสัญญาว่าจะไม่กลายพันธุ์อะไร hashcode ขึ้นอยู่กับ
ฉันต้องทำอะไรใน Python เพื่อทำสิ่งนี้ให้สำเร็จ ฉันควรทำยัง
(ในกรณีอย่างง่ายเช่นที่นี่อาจจะเป็นการดีกว่าถ้าวาง tuple (ชื่อสถานที่) เป็นกุญแจ - แต่ให้พิจารณาว่าฉันต้องการให้กุญแจเป็นวัตถุ)
MyThing
ถ้าพวกเขามีเหมือนกันname
และlocation
เพื่อจัดทำดัชนีพจนานุกรมเพื่อส่งกลับค่าเดียวกันแม้ว่าพวกเขาจะถูกสร้างแยกเป็นสอง "วัตถุ" ที่แตกต่างกัน