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}: "друг речник"
# }