Курс 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. Метод setdefault() в Python
  2. Поиск индекса элемента
  3. Оператор «is not» в Python
  4. Отправка POST-запроса в REST API
  5. Преобразование данных в Python
  6. Транспонирование 2D-массива с помощью zip
  7. Поиск HTML-элементов с BeautifulSoup
  8. Оптимизация параметров в Python
  9. Python union() функция — объединение множеств
  10. Подписка на Kaspersky Team
  11. Python Метод sleep() времени
  12. Зарезервированные слова в Python
  13. Изменение IP-адреса в Python
  14. Метод title() в Python
  15. Управление доступом к модулю
  16. Модуль itertools: комбинации и перестановки
  17. Работа с CSV файлами в Python
  18. Скрытие вывода данных
  19. Извлечение чисел из текста
  20. Работа с эмодзи в Python
  21. Обработка исключений в Python
  22. Получение списка кортежей из словаря
  23. Сохранение и загрузка модели в PyTorch
  24. Метод join для объединения строк
  25. Python: Splat-оператор и splatty-splat
  26. Изучение объектов с помощью dir()
  27. Форматирование кода на Python
  28. Транспонирование 2D-массива с помощью zip
  29. Генератор бросков кубиков
  30. Удаление и повторная вставка ключа в OrderedDict
  31. Проверка окончания строки с помощью str.endswith()
  32. Делегирование в Python
  33. Проверка запуска скрипта или импорта модуля
  34. Возврат значений из генератора
  35. Разделение строки на пары ключ-значение.
  36. Многопроцессорное программирование в Python
  37. Динамические маршруты во Flask
  38. Объединение словарей в Python
  39. Динамическая типизация в Python
  40. Уникальные значения из списка
  41. Кортеж в Python: создание, доступ, изменение
  42. Генератор чисел Фибоначчи
  43. Секреты Python
  44. Работа с путями в Python
  45. Распаковка аргументов в Python
  46. Операции с кортежами
  47. Функция zip() в Python

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