Курс Python → Уникальность ключей в словаре

В Python уникальность ключей в словаре определяется эквивалентностью, а не идентичностью. Это означает, что даже если два объекта разных типов равны друг другу, они не могут быть использованы в качестве ключей в словаре или множестве одновременно. Например, числа 5, 5.0 и 5 + 0j являются различными объектами разных типов, но они равны друг другу. Поэтому, если вы попытаетесь добавить их в словарь как ключи, только один из них будет сохранен, а остальные будут игнорироваться.

Когда вы пытаетесь найти значение по ключу в словаре, Python сначала проверяет эквивалентность ключей, а затем только идентичность. Это означает, что если вы используете ключ, который эквивалентен уже существующему ключу в словаре, но не идентичен ему, то Python найдет значение, связанное с существующим ключом, а не с новым. Это поведение позволяет избежать ошибок KeyError в случае использования эквивалентных ключей.

Пример кода:


my_dict = {5: 'пять', 5.0: 'пять', 5 + 0j: 'пять'}
print(my_dict)  # Выведет: {5: 'пять'}
print(my_dict[5])  # Выведет: 'пять'
print(my_dict[5.0])  # Выведет: 'пять'
print(my_dict[5 + 0j])  # Выведет: 'пять'

В этом примере мы создаем словарь, в котором ключами являются различные объекты, но они эквивалентны друг другу. При обращении к словарю по любому из ключей, Python находит значение, связанное с первым ключом (5), так как все остальные ключи эквивалентны ему. Это демонстрирует, что в Python уникальность ключей в словаре определяется их эквивалентностью, а не идентичностью.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Лямбда-функции в Python
  2. Удаление дубликатов с помощью множеств
  3. Использование type hints
  4. Применение команды break
  5. Отправка POST-запроса в REST API
  6. Тест скорости набора текста на Python
  7. Операторы объединения в Python 3.9
  8. Приближение чисел в Python
  9. Создание задания в Cron
  10. Цепные операции в Python
  11. Вычисление времени выполнения
  12. Создание итерируемых объектов
  13. Определение функций с необязательными аргументами
  14. Модуль inspect
  15. Работа с каталогами в Python
  16. Комментарии в Python
  17. Замер времени выполнения кода
  18. Преобразование букв в нижний регистр
  19. Проверка кортежей.
  20. Оптимизация создания строк
  21. Многострочные строки в Python
  22. Генерация резюме в Gensim
  23. Работа с датой и временем в Python
  24. Проверка версии Python
  25. Потоковый ввод в Python
  26. Активация Matplotlib в Jupyter
  27. Работа со строками в Python
  28. Объединение словарей в Python 3.5+
  29. Регулярные выражения: метод match
  30. Оператор continue в Python
  31. Преобразование данных в Python
  32. Функция zip() для объединения списков
  33. Работа со строками в Python
  34. Декораторы в Python
  35. Использование двоеточия в Python
  36. Список переменных с %who
  37. Получение локальных переменных в Python
  38. Измерение времени выполнения в Python
  39. Раздувающийся словарь в Python
  40. Defaultdict в Python
  41. Форматирование строк в Python
  42. Управление ресурсами в Python
  43. Введение в Python
  44. Итерации в Python
  45. Удаление элементов из списка в Python
  46. split() без разделителя
  47. Генераторы списков в Python

Marketello читают маркетологи из крутых компаний