Курс 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. Вывод баннеров
  2. Изучение объектов с помощью dir()
  3. Создание таблиц в Python с PrettyTable
  4. Фильтрация последовательности
  5. Python: возвращение нескольких значений
  6. Python Enumerate
  7. Работа со строками в Python
  8. Ключевое слово global в Python
  9. Обработка исключений в Python
  10. Основные операции с Numpy
  11. Создание треугольника Паскаля
  12. Проблема сравнения словарей
  13. Оператор assert в Python
  14. Проверка наличия элемента в списке
  15. Управление импортом в Python
  16. Работа с кортежами
  17. Срезы в Numpy
  18. CLI-инструмент howdoi
  19. Реализация операции -= для пользовательского класса
  20. Ошибка NotImplemented в Python
  21. Сортировка в Python
  22. Возврат нескольких значений
  23. Python Метод sleep() из time
  24. Проверка кортежей.
  25. Сортировка слиянием
  26. Работа с itertools
  27. Форматирование заголовков в Python
  28. Виртуальное окружение Python
  29. Слияние словарей в Python 3.9
  30. Получение текущей директории
  31. Имена объектов в Python
  32. Функции в одну строку
  33. Руководство по библиотеке pydantic
  34. Основные операции с библиотекой Numpy
  35. Конструктор в Python
  36. Поиск email
  37. Методы и функции в Python
  38. Работа с путями в Python
  39. Retrying в Python: повторные вызовы
  40. Преобразование списка в словарь через генератор
  41. Поиск файлов по шаблону
  42. Работа с JSON данными в Python
  43. Метод join() для объединения строк
  44. Работа с defaultdictами в Python
  45. Управление памятью в Python
  46. Капитализация строк
  47. Установка User-Agent в Python

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