Junior
Aké objekty je možné vložiť do množiny v Pythone?
sobes.tech AI
Odpoveď od AI
V Pythone je možné do množiny (set) umiestniť nemenné (hashovateľné) objekty.
Tieto zahŕňajú:
- Čísla (celé, desatinné, komplexné)
- Reťazce
- Tupy (za predpokladu, že všetky ich prvky sú tiež nemenné)
- Frozenset (nemenná verzia set)
Objekty, ktoré nie je možné umiestniť do množiny:
- Zoznamy (list)
- Množiny (set) - ale je možné použiť frozenset
- Slovníky (dict)
Príklad:
# Nemenné objekty, ktoré je možné umiestniť do množiny
valid_set = {1, "jablko", (1, 2), frozenset({3, 4})}
# Menné objekty, ktoré nie je možné umiestniť do množiny
# invalid_set = {[1, 2], {3, 4}, {"a": 1}} # Vyvolá TypeError
Hashovanie je proces výpočtu pevnej hodnoty (hash) pre objekt. Aby bol objekt hashovateľný, musí mať metódu __hash__() a jeho hashová hodnota sa nesmie počas jeho životného cyklu meniť. Nemenné objekty v Pythone sú, svojou povahou, hashovateľné.