TypeError: unhashable typeTypeError: unhashable type
जहाँ हैशेबल (अपरिवर्तनीय) ऑब्जेक्ट चाहिए, जैसे डिक्शनरी की कुंजी या सेट का तत्व, वहाँ म्यूटेबल ऑब्जेक्ट इस्तेमाल किया गया।
इस एरर के कारण
आपने list, dict, set या किसी और म्यूटेबल ऑब्जेक्ट को डिक्शनरी की कुंजी या सेट के तत्व के रूप में इस्तेमाल करने की कोशिश की। कुंजी के रूप में सिर्फ़ हैशेबल (अपरिवर्तनीय) ऑब्जेक्ट ही चल सकते हैं: स्ट्रिंग, संख्याएँ, ट्यूपल (हैशेबल तत्वों वाले), frozenset।
इसे कैसे ठीक करें
लिस्ट को ट्यूपल में बदलें: tuple(my_list)। सेट को frozenset में बदलें: frozenset(my_set)। डिक्शनरी के लिए उसके आइटम का frozenset लें या उसे किसी हैशेबल रूप में बदलें। कुंजी के रूप में अपरिवर्तनीय डेटा संरचनाएँ इस्तेमाल करें।
उदाहरण
{[1, 2]: "value"} # TypeError: unhashable type: 'list'संबंधित एरर कोड
FloatingPointErrorFloatingPointError
Floating point operation विफल हुई। fpectl enable होने तक यह rarely दिखती है।
IndexErrorIndexError: list index out of range
एक sequence index दी गई sequence की वैध range से बाहर है।
AttributeErrorAttributeError
किसी ऑब्जेक्ट में अनुरोधित attribute या method नहीं है।
ProcessLookupErrorProcessLookupError — प्रोसेस लुकअप विफल
जब दिया गया प्रोसेस (सामान्यतः एक PID) मौजूद नहीं होता, तब यह exception उठाया जाता है।
RecursionErrorRecursionError
अधिकतम recursion गहराई पार हो गई।
NotImplementedErrorNotImplementedError
एक ऐसी मेथड जिसे subclass द्वारा implement किया जाना चाहिए, अभी तक implement नहीं की गई है।