Jaký je význam ' nehašovatelného typu ' chyba v Pythonu?


Nejlepší odpověď

Pojďme nejprve porozumět tomu, co je hašovatelné a neohrožitelné. Zjednodušeně řečeno označujeme položky, jejichž hodnoty nelze změnit, jako hashovatelné a objekty, jejichž hodnoty lze změnit, jako nehashovatelné.

Například v Pythonu lze všechny neměnné objekty označit jako hashable, zatímco jako proměnlivé objekty lze označit jako nehašovatelný. Vezměme si příklad, kde můžeme takovou chybu dostat a proč ji máme.

Například když použijete seznam jako klíč ve slovníku Nelze to udělat a dostaneme chybu TypeError: unhashable type.

Je to proto, že seznamy nelze hašovat a my se snažíme použít seznam jako hash argument. znamená, že když se pokusíte hashovat nehašovatelný objekt, bude to mít za následek tuto chybu. Standardní způsob, jak tento problém vyřešit, je vrhnout seznam na n-tici.

A protože n-tice jsou neměnné a tedy hashovatelné, může fungovat.

Odpovědět

dict = {a: 1}

Zobrazuje chybu nehašovatelného typu v pythonu cmd v okně.

Hashovatelný význam v pythonu je, kterou hodnotu nelze nikdy změnit. A Hashable je naproti Hashable. Ve slovníku může být hodnota aktualizována kdykoli, ale pokud interpret pythonu pochopí jeho datový typ. = 1) a je datový typ řetězce, ale zde se nedodržuje pravidlo datového typu řetězce, kterým je write e uzavírání znaků do uvozovek. Tlumočník tedy řekl, že tato hodnota datového typu je nehašovatelná (proměnlivá), ale datový typ je nepochopen.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *