Курс 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. Получение размера объекта с sys.getsizeof()
  3. Аннотации типов в Python
  4. Метод join() с набором
  5. Извлечение данных из JSON
  6. Метод __getitem__ в Python
  7. Множества и frozenset
  8. Анонимные функции в Python
  9. Вывод букв строки в Python
  10. Объединение списков с помощью zip
  11. Официальный канал Python в Telegram
  12. Оператор break в Python
  13. Сортировка списка по индексам
  14. Генерация QR-кодов с библиотекой qrcode
  15. Создание треугольника Паскаля
  16. Выбор редактора кода.
  17. Комментарии в Python
  18. Проверка версии Python
  19. Управление асинхронными задачами с помощью Semaphore
  20. Сортировка в Python
  21. Склеивание строк через метод join()
  22. Объединение списков в Python
  23. Многострочные строки в Python
  24. Сохранение и загрузка модели в PyTorch
  25. Метод __call__ в Python
  26. Работа с типами данных в Python с помощью pydantic.
  27. Проверка запуска скрипта или импорта модуля
  28. Метод rename() для переименования файлов и каталогов
  29. Работа с URL-адресами в Python
  30. Вычисление логарифмов в Python
  31. Реверс строки в Python
  32. Работа с argparse
  33. Каналы Senior: Python, Java, Frontend, SQL, C++
  34. Оператор del в Python
  35. Установка и использование howdoi
  36. Dict Comprehension в Python
  37. Создание лямбда-функций
  38. Работа с исключениями в Python
  39. Функция enumerate() в Python
  40. Объединение, распаковка и деструктуризация
  41. Работа с YAML в Python
  42. Оператор is в Python
  43. Декораторы с аргументами
  44. Отделение звука от видео
  45. Преобразование списка в словарь через генератор
  46. Руководство по Pymorphy2

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