Sobes.tech
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