Junior
Pythonда кайсы объекттер топтомго салынат?
sobes.tech AI
AIден жооп
Pythonда set ичинде өзгөрүлбөс (hashable) объекттер жайгаштырылышы мүмкүн.
Буларга төмөнкүлөр кирет:
- Сан (түз, ондук, комплекстүү)
- Жолдор (стрингдер)
- Туптар (эгер алардын бардык элементтери да өзгөрүлбөс болсо)
- Frozenset (setтин өзгөрүлбөс версиясы)
Объекттер, алар жок болушу мүмкүн:
- Тизмелер (list)
- Жыйнактар (set) - бирок frozenset колдонсо болот
- Сөздүктөр (dict)
Мисал:
# Өзгөрүлбөс объекттер, алар setке жайгаштырылышы мүмкүн
valid_set = {1, "алма", (1, 2), frozenset({3, 4})}
# Өзгөрүлүү объекттер, алар setке жайгаштырылбайт
# invalid_set = {[1, 2], {3, 4}, {"a": 1}} # Бул TypeError чыгарат
Hashing — бул объект үчүн так маанини (hash) эсептөө процесси. Объект hashable болушу үчүн, ал __hash__() методуна ээ болушу керек жана анын hash мааниси анын жашоо циклинин ичинде өзгөрбөшү керек. Pythonдогу өзгөрүлбөс объекттер, өзүнүн табигатынан, hashable болот.