abc = {}
abc[int: anotherint]
तब त्रुटि आई। TypeError: unhashable प्रकार? मुझे यह क्यों मिला? मैं कोशिश की है str()पाइथन शब्दकोश जोड़ना, TypeError: unhashable प्रकार?
abc = {}
abc[int: anotherint]
तब त्रुटि आई। TypeError: unhashable प्रकार? मुझे यह क्यों मिला? मैं कोशिश की है str()पाइथन शब्दकोश जोड़ना, TypeError: unhashable प्रकार?
यह एक वाक्य रचना मुद्दा हो रहा है:
>>> abc = {}
>>> abc[1] = 2
>>> abc
{1: 2}
>>> abc = {1:2, 3:4}
>>> abc
{1: 2, 3: 4}
>>>
कम से कम निम्न में से वाक्य रचना गलत
abc[int: anotherint]
मुझे लगता है कि आप
कहना चाहता हूँ हैabc = [int: anotherint]
जो भी गलत है। सही तरीका
abc = {int: anotherint}
जब तक abc
पहले से ही जो मामले में परिभाषित किया जाता है:
abc[int] = anotherint
भी एक मान्य विकल्प है।
दो चीजें गलत हैं - पहले आपके पास एक तर्क त्रुटि है - मुझे सच में नहीं लगता कि आप int (प्रकार, जो अप्रचलित है [नीचे देखें] के बीच शब्दकोश का टुकड़ा चाहते हैं) और दूसरा नंबर INT। निश्चित रूप से यह पाइथन में संभव नहीं है, लेकिन यही वह है जो आप कह रहे हैं कि आप करना चाहते हैं।
दूसरे, आप एक्स मतलब यह मानते हुए कि [{int: anotherInt}]:
क्या है कि त्रुटि का अर्थ है कि आप, कि एक शब्दकोश में कुंजी के रूप में उपयोग नहीं कर सकते के रूप में एक नियम अजगर आप पसंद नहीं करता है शब्दकोशों में कुंजी के रूप में परिवर्तनशील प्रकार का उपयोग कर - यह बातें पेचीदा हो आप बाद में शब्दकोश या सूची सामान जोड़ने ... निम्नलिखित बहुत भ्रमित उदाहरण पर विचार करें:
x={}
x[x]=1
क्या आपको ऐसा करने की उम्मीद होती है, यदि आप करने की कोशिश की सबस्क्राइब कि सरणी जो आप 1 लौटने की उम्मीद करेंगे?
x[{}]
x[{x:x}]
x[{{}:x}]
x[x]
मूल रूप से जब परिवर्तनशील प्रकार hashing आप या तो हैश के संबंध में कह सकते हैं, क्योंकि वे {} != {}
स्मृति में विभिन्न स्थानों में जमा हो जाती है या आप ऊपर
अजीब पुनरावर्ती स्थिति के साथ अंत के बाद से शीर्षक जोड़कर कहते हैं और किसी भी उत्तर ने शब्दकोष में चीजों को जोड़ने का कोई समाधान प्रदान नहीं किया है, मैं इसे आज़माता हूं:
abc = {}
abc[1]= 2
abc['a'] = [3,9,27]
==> a = {1:2, 'a':[3,9,27]}