Курс 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. Функция enumerate() — Python
  2. Создание функций высшего порядка
  3. Участие в сообществе @selectel
  4. Сортировка и разворот списка
  5. Управление импортом в Python
  6. Удаление элементов по срезу
  7. Асинхронное выполнение задач в процессах
  8. Ускорение выполнения кода в Python
  9. Ускоренный импорт библиотек
  10. Избегайте использования goto
  11. Добавление цвета в консоли
  12. Отладка в командной строке
  13. Библиотека Rich: форматирование текста
  14. Метод join() для объединения строк
  15. CLI-инструмент howdoi
  16. Синхронизация доступа к ресурсам
  17. Лямбда-функции в Python
  18. Замена переменных в Python
  19. Логирование в Python
  20. Оператор == в Python
  21. Представление бесконечности в Python
  22. Функция pow() — возвести число в степень
  23. Метод Enumerate() для списков
  24. Создание функций с произвольным количеством аргументов
  25. Преобразование чисел в восьмеричную строку
  26. Получение срезов итераторов
  27. Списки в Python: синтаксис представления
  28. Цикл for в Python
  29. Модуль Antigravity в Python 3
  30. Управление User-Agent в Python
  31. Создание вложенных циклов for
  32. Создание словаря в Python
  33. Поиск самого длинного слова в списке с использованием max()
  34. Операции с комплексными числами
  35. Python Аргументы по умолчанию
  36. Обмен значений переменных в Python
  37. Установка максимального количества цифр
  38. Разрешение имен в Python
  39. Константы в модуле cmath
  40. Удаление элементов из списка в Python
  41. Magic Commands — улучшение работы с Python
  42. Декораторы в Python
  43. Проверка переменных окружения в Python
  44. Выход из профиля в Django
  45. Подписка на @SelectelNews
  46. Многострочные комментарии в Python
  47. Удаление символа из строки
  48. Выражения-генераторы в Python

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