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}: "այլ բառարան"
# }