Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Berikut ialah beberapa pilihan tajuk, memfokuskan pada isu teras dan penyelesaian: Langsung dan Bermaklumat: * TypeError: \"unhashable type: \'dict\'\" - Cara Membuat Kamus Boleh Hashable dalam Python * Py

Berikut ialah beberapa pilihan tajuk, memfokuskan pada isu teras dan penyelesaian: Langsung dan Bermaklumat: * TypeError: \"unhashable type: \'dict\'\" - Cara Membuat Kamus Boleh Hashable dalam Python * Py

DDD
DDDasal
2024-10-26 11:29:02132semak imbas

Here are a few title options, focusing on the core issue and solution:

Direct and Informative:

* TypeError:

TypeError: unhashable type: 'dict'

Ralat ini menunjukkan bahawa anda sedang cuba menggunakan kamus sebagai kunci dalam kamus atau ditetapkan. Dicts, secara lalai, tidak boleh dicincang, dan oleh itu tidak boleh digunakan sebagai kunci.

Penyelesaian:

Untuk menyelesaikan isu ini, anda boleh membekukan kamus menggunakan frozenset, yang mencipta perwakilan kamus yang boleh dicincang. Ketidakbolehubah adalah kritikal kerana hanya objek tidak berubah (seperti rentetan, nombor dan tupel) boleh dicincang.

Contoh:

Pertimbangkan kod ini:

<code class="python">movie_reviews = ...
negids = movie_reviews.fileids('neg')

def word_feats(words):
    return dict([(word, True) for word in words])

# Constructing a list of tuples instead of dicts for hashability
negfeats = [(word_feats(movie_reviews.words(fileids=[f])), 'neg') for f in negids]

stopset = set(stopwords.words('english'))

def stopword_filtered_word_feats(words):
    return dict([(word, True) for word in words if word not in stopset])

# Use frozenset to freeze the key (dict) of the nested dictionary
result = {frozenset(key.items()): value for key, value in negfeats}</code>

Dalam contoh ini, senarai negfeats dibina dengan tupel dan bukannya kamus untuk memastikan hashability. Selain itu, fungsi stopword_filtered_word_feats mengembalikan struktur kamus yang berbeza daripada kod asal, di mana kuncinya ialah set tupel beku. Struktur ini boleh dicincang dan serasi dengan kod yang dikemas kini.

Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk, memfokuskan pada isu teras dan penyelesaian: Langsung dan Bermaklumat: * TypeError: \"unhashable type: \'dict\'\" - Cara Membuat Kamus Boleh Hashable dalam Python * Py. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn