सामग्री पर जाएं
Python अपवादएरर
TypeError: unhashable type

TypeError: unhashable type

जहाँ हैशेबल (अपरिवर्तनीय) ऑब्जेक्ट चाहिए, जैसे डिक्शनरी की कुंजी या सेट का तत्व, वहाँ म्यूटेबल ऑब्जेक्ट इस्तेमाल किया गया।

python

इस एरर के कारण

आपने list, dict, set या किसी और म्यूटेबल ऑब्जेक्ट को डिक्शनरी की कुंजी या सेट के तत्व के रूप में इस्तेमाल करने की कोशिश की। कुंजी के रूप में सिर्फ़ हैशेबल (अपरिवर्तनीय) ऑब्जेक्ट ही चल सकते हैं: स्ट्रिंग, संख्याएँ, ट्यूपल (हैशेबल तत्वों वाले), frozenset।

इसे कैसे ठीक करें

लिस्ट को ट्यूपल में बदलें: tuple(my_list)। सेट को frozenset में बदलें: frozenset(my_set)। डिक्शनरी के लिए उसके आइटम का frozenset लें या उसे किसी हैशेबल रूप में बदलें। कुंजी के रूप में अपरिवर्तनीय डेटा संरचनाएँ इस्तेमाल करें।

उदाहरण

{[1, 2]: "value"}  # TypeError: unhashable type: 'list'
आधिकारिक दस्तावेज़

संबंधित एरर कोड