Vad är innebörden av ' otålig typ ' fel i Python?


Bästa svaret

Låt oss först förstå vad som är hashbart och outhärdligt. Enkelt uttryckt betecknar vi objekten vars värden inte kan ändras som hashable och objekten vars värden kan ändras som otåliga.

Till exempel i Python kan alla oföränderliga objekt betecknas som hashable medan de är mutabla objekt kan betecknas som otåligt. Låt oss ta ett exempel där vi kan få ett sådant fel och varför vi får det.

Till exempel när du använder en lista som en nyckel i ordboken Det går inte att göra och vi får ett fel TypeError: unhashable type.

Detta beror på att listor inte kan hashas och vi försöker använda en lista som hashargument. Detta betyder att när du försöker att hash ett otydligt objekt kommer det att resultera i detta fel. Det vanliga sättet att lösa problemet är att kasta en lista till en tuple.

Och eftersom tuplar är oföränderliga och därmed hashable, kan fungera.

Svar

dict = {a: 1}

Det visar ett otydligt typfel i python cmd i fönstret.

Hashable betydelse i python är vilket värde som aldrig kan ändras. Och unhashable är motsatt till Hashable. I ordboksvärdet kan uppdateras när som helst men om pythontolken förstår dess datatyp. I mitt exempel dict = {a: 1} (key = a, value = 1) a är en strängdatatyp men här följer inte strängdatatypsregeln som skrivs e bifoga tecken i citat. Så därför sa tolk att detta datatypvärde är otåligt (förändringsbart) men datatyp missförstås.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *