Sobes.tech
Junior

Ինչ կարող են լինել բանալիները Python-ի բառարաններում?

sobes.tech AI

Պատասխան AI-ից

Python բառարանների բանալիները կարող են լինել ցանկացած անփոփոխ (hashable) օբյեկտ:

Անփոփոխ տվյալների տեսակները ներառում են՝

  • Թվեր (int)
  • Տարածական թվեր (float)
  • Տեքստային տողեր (str)
  • Միայն անփոփոխ տարրեր պարունակող տիպեր (tuple)
  • Բուլյան արժեքներ (bool)
  • NoneType (None)
  • Frozenset (frozenset)՝ որը պարունակում է միայն անփոփոխ տարրեր

Օրինակներ՝ թույլատրելի բանալիներ:

# Թույլատրելի բանալիներ
my_dict = {
    1: "մեկ",
    3.14: "պի",
    " բանալին ": " արժեք ",
    (1, 2): "տիպլ",
    True: "ճշմարիտ",
    None: "չկա",
    frozenset({1, 2}): "անփոփոխ հավաքածու"
}

Անփոփոխ օբյեկտները ունեն հեշ, որը օգտագործվում է արագ որոնման համար։

Փոփոխական տվյալների տիպերը՝ օրինակ՝ ցանկեր (list), հավաքածուներ (set) և այլ բառարաններ (dict)՝ չեն կարող լինել բանալիներ, քանի որ դրանց պարունակությունը կարող է փոխվել, ինչը կխաթարի հեշի ամբողջականությունը։

Անհամապատասխան բանալիների օրինակներ՝

# Անհամապատասխան բանալիներ (գործարկում է TypeError)
# my_dict = {
#     [1, 2]: "ցանկ",
#     {1, 2}: "հավաքածու",
#     {"a": 1}: "այլ բառարան"
# }