Junior
Какви характеристики трябва да се имат предвид при използването на числа като ключове?
sobes.tech AI
Отговор от AI
При използване на числа като ключове в речници на Python, трябва да се има предвид следното:
- Немодифицирани: Числовите типове (
int,float,complex) са немодифицирани, което ги прави подходящи за използване като ключове. Стойността на хеша на числото е стабилна и не се променя през целия живот на обекта. - Хеширане: Python използва хеширане за бърз достъп до елементите на речника по ключ. Числата имат ефективни алгоритми за хеширане.
- Типове числа: Въпреки че
intиfloatмогат да бъдат ключове,complexсъщо може, но използването му като ключ е по-рядко срещано. - Сравнение: При сравняване на числови ключове, се взема предвид тяхната стойност. Например,
1(int) и1.0(float) могат да се разглеждат като различни ключове поради техния тип, дори ако числовата им стойност е еднаква. Въпреки това, при търсене на ключ, Python не автоматично преобразува типовете. Ключът'1'(низ) е различен от1(число).
Пример:
# int и float като ключове
my_dict = {1: 'цяло число едно', 1.0: 'float едно', 2: 'цяло число две'}
# Достъп чрез ключ
print(my_dict[1])
print(my_dict[1.0])
# print(my_dict['1']) # Грешка: KeyError