Курс 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. Настройка вывода NumPy
  2. discard() — удаление элемента из множества
  3. Создание итератора
  4. Работа с кортежами в Python
  5. Хеширование паролей с использованием salt
  6. Наследование в программировании
  7. Обработка исключений в Python 3
  8. Управление пакетами с pip
  9. Метод __ilshift__ для битового сдвига влево
  10. Измерение времени выполнения кода с помощью time
  11. Ввод нескольких значений
  12. Метод join() с набором
  13. Тестирование с unittest
  14. Генераторы по генератору
  15. Введение в Python
  16. Поиск с помощью регулярных выражений
  17. Счетчик в Python: most_common()
  18. Создание тестовых данных с Faker
  19. Перевод текста с Python Translator
  20. Участие в сообществе @selectel
  21. Создание новых списков в Python
  22. Копирование и вставка текста в Python
  23. Хэш-функции в Python
  24. Управление контекстом выполнения
  25. Удаление дубликатов в pandas
  26. Встраивание HTML в Jupyter Notebook
  27. Операторы += в Python
  28. Форматирование объектов с модулем pprint
  29. Переменная с нижним подчеркиванием
  30. Работа с CSV в Python
  31. История Python
  32. Оформление кода по PEP 8
  33. Метод Self в Python
  34. Непрерывная проверка в Python
  35. Метод invert для побитового отрицания
  36. Определение наиболее частого элемента с помощью collections.Counter
  37. Декораторы в Python
  38. Многострочные комментарии в Python
  39. Копирование объектов в Python
  40. Преобразование букв в нижний регистр
  41. Измерение времени выполнения кода в Python
  42. Функции в одну строку
  43. Итерации в Python
  44. Сравнение def и lambda функций в Python
  45. Переворот строки с помощью срезов
  46. Python Enumerate
  47. Определение относительного пути
  48. Python-dateutil — работа с датами

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