Курс 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. Обработка StopIteration в Python
  2. Декораторы в Python
  3. Копирование и вставка текста в Python
  4. Путь к интерпретатору Python
  5. Работа с модулем random
  6. Python Метод sleep() из time
  7. Добавление вложенных списков
  8. F-строки в Python
  9. Работа со строками в Python
  10. Срезы в Python
  11. Логирование с Logzero
  12. Виртуальное окружение Python
  13. Лямбда-функции для min/max
  14. Вложенные функции в Python
  15. Monkey Patching в Python
  16. Установка Python — Простое руководство
  17. Работа с пользовательским вводом
  18. Форматирование вывода с F-строками
  19. Операции с кортежами
  20. Сумма элементов списка
  21. Модуль antigravity: генерация координат
  22. Python: Фильтрация списков с помощью filter()
  23. Сериализация и десериализация объектов
  24. Настройка Cron
  25. Декоратор Property в Python
  26. Функции с дополнением
  27. Автоматизация скриптов на AWS Lightsail.
  28. Проектирование Singleton с метаклассом
  29. Работа с CSV файлами в Python
  30. Определение имен функций
  31. Применение промокода в Много лосося
  32. Множественные конструкторы в Python
  33. Транспонирование 2D-массива с помощью zip
  34. Изменяемые и неизменяемые объекты
  35. Расчет времени выполнения
  36. Работа с парами ключ-значение
  37. Solidity для DeFi Ethereum
  38. Работа с Telegram API на Python
  39. Метод join() для объединения строк
  40. Работа с изменяемыми списками
  41. Измерение потребления памяти при сортировке
  42. Абстракции словарей и множеств в Python
  43. Работа со случайными элементами
  44. Решение переменной Шредингера
  45. Отправка POST-запроса в REST API
  46. Фильтрация списка чисел
  47. Оператор walrus в Python

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