TypeError: unhashable typeTypeError: unhashable type
Sözlük anahtarı veya küme öğesi gibi, hash'lenebilir (değişmez) bir nesnenin gerektiği yerde değiştirilebilir bir nesne kullanıldı.
Bu hatanın nedenleri
Bir liste, sözlük, küme veya başka bir değiştirilebilir nesneyi sözlük anahtarı ya da küme öğesi olarak kullanmaya çalıştınız. Anahtar olarak yalnızca hash'lenebilir (değişmez) nesneler kullanılabilir: dizeler, sayılar, demetler (hash'lenebilir öğelerden oluşan) ve frozenset'ler.
Nasıl düzeltilir
Listeleri demetlere dönüştürün: tuple(my_list). Kümeleri frozenset'lere dönüştürün: frozenset(my_set). Sözlükler için öğelerin frozenset'ini kullanın veya hash'lenebilir bir gösterime dönüştürün. Anahtar olarak değişmez veri yapıları kullanın.
Örnek
{[1, 2]: "value"} # TypeError: unhashable type: 'list'İlgili Hata Kodları
FloatingPointErrorFloatingPointError
Bir kayan nokta işlemi başarısız oldu. fpectl etkin değilse nadiren görülür.
IndexErrorIndexError: list index out of range
Bir dizi indeksi, ilgili dizi için geçerli aralığın dışında.
AttributeErrorAttributeError
Bir nesne, istenen özniteliğe veya yönteme sahip değil.
ProcessLookupErrorProcessLookupError — Süreç Aranamadı
Verilen bir sürecin (genellikle bir PID) mevcut olmadığı durumlarda yükseltilir.
RecursionErrorRecursionError
Maksimum özyineleme derinliği aşıldı.
NotImplementedErrorNotImplementedError
Bir alt sınıf tarafından uygulanması gereken bir metot henüz uygulanmamış.