Yani listeleri unhashable şunlardır:Listeleri ne derece şaşırtmıyor?
>>> { [1,2]:3 }
TypeError: unhashable type: 'list'
page aşağıdaki açıklama verir:
listesi bir değişken türüdür ve sözlükten bir anahtar olarak kullanılamaz (içeri değiştirebilir -anahtarın artık sözlükte dahili karma tablosunda bulunabilmesi). o Sözlük tuşları olarak değiştirilebilen elemanlardan kullanmak istenmeyen neden
anlıyorum. Ancak, Python ben sadece
>>> hash([1,2])
TypeError: unhashable type: 'list'
mu Python değiştirilebilir tipler sözlüğü tuşları olarak asla kullanılmayacaktır bir garantisi olarak bunu (bağımsız sözlük yaratılış) listesini karma çalışıyorum hatta aynı istisna yükseltir? Yoksa bunları nasıl kullanmayı planladığımı dikkate almadan, değişebilir nesneleri karma imkansız kılan başka bir neden var mı?
'karma()' basitçe nesnenin '__hash__' yöntemini çağırır ve bu dicts yaptıklarının aynısı bu. –
Ne * yapma * karma ile yapmayı planlıyorsunuz? Motivasyon, bir nesnenin karma değerinin değişmemesi ve eşit nesnelerin genel olarak aynı kalmamasıdır. – geoffspear