Sobes.tech
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 են։