Je zoznam hašovateľný Python?
Je zoznam hašovateľný Python?

Video: Je zoznam hašovateľný Python?

Video: Je zoznam hašovateľný Python?
Video: Python! Which Objects Can Be Set as Dictionary Keys? 2024, November
Anonim

Všetko z Pythonov nemenné vstavané objekty sú hašovateľné , zatiaľ čo žiadne meniteľné kontajnery (ako napr zoznamy alebo slovníky) sú. Objekty, ktoré sú inštanciami tried definovaných používateľom, sú hašovateľné predvolene; všetky sa porovnávajú nerovnako a ich hash hodnota je ich id().

Len tak, sú v Pythone hašovateľné n-tice?

10.1 Tuples sú nemenné Hodnoty uložené v a násobný môžu byť ľubovoľného typu a sú indexované celými číslami. Dôležitý rozdiel je v tom tuples sú nemenné. Tuples sú tiež porovnateľné a hašovateľné aby sme ich zoznamy mohli triediť a používať tuples ako kľúčové hodnoty v Python slovníkov.

čo znamená, že niečo je hašovateľné? Objekt je povedal byť hašovateľné Ak si to má hašovacia hodnota, ktorá zostáva rovnaká počas svojej životnosti. Objekty, ktoré sú inštancie užívateľom definovaných tried sú zničiteľné predvolene; všetky porovnávajú nerovnaké (okrem seba) a ich hash hodnotu je odvodené od theirid().

Vzhľadom na to, čo znamená Unhashable Python?

TypeError: nehašovateľný typ: 'zoznam' zvyčajne znamená že sa pokúšate použiť zoznam ako hash argument. Toto znamená že keď sa pokúsite hašovať an nehašovateľný objekt bude mať za následok chybu. Napríklad Štandardným spôsobom riešenia tohto problému je odovzdanie zoznamu do n-tice.

Sú zoznamy v Pythone nemenné?

Všetko v Python je objekt. A čo každý nováčik Python by sa mal rýchlo naučiť je, že všetky objekty v Python môžu byť buď premenlivé alebo nemenný . Objekty vstavaných typov ako (int, float, bool, str, tuple, unicode). nemenný . Objekty vstavaných typov ako ( zoznam , set, dict) sú premenlivé.

Odporúča: