Junior
Ի՞նչ օբյեկտներ կարելի է տեղադրել Python-ի հավաքածուում:
sobes.tech AI
Պատասխան AI-ից
Python-ում, set-ում կարելի է տեղադրել անփոփոխ (hashable) օբյեկտներ:
Դրանք ներառում են՝
- Թվեր (ամբողջ, տրոհային, կոմպլեքս)
- Տեքստային տողեր
- Tuple (պայմանով, որ բոլոր տարրերը նույնպես անփոփոխ են)
- Frozenset (set-ի անփոփոխ տարբերակը)
Օբյեկտներ, որոնք չեն կարող տեղավորվել set-ում՝
- Ցանկեր (list)
- Կազմեր (set) - բայց կարելի է օգտագործել frozenset
- Լուսագրեր (dict)
Օրինակ՝
# Անփոփոխ օբյեկտներ, որոնք կարող են տեղավորվել set-ում
valid_set = {1, "խնձոր", (1, 2), frozenset({3, 4})}
# Փոփոխական օբյեկտներ, որոնք տեղավորվել չեն կարող
# invalid_set = {[1, 2], {3, 4}, {"a": 1}} # Սա կհանգեցնի TypeError- ի
Hashing-ը գործընթաց է՝ հաշվարկելու ֆիքսված արժեք (hash) օբյեկտի համար։ Օբյեկտը կարող է լինել hashable, եթե ունենա __hash__() մեթոդը և նրա hash արժեքը չփոխվի նրա կյանքի ընթացքում։ Python-ի անփոփոխ օբյեկտները բնույթով hashable են։