Курс 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. Управление асинхронными задачами с помощью Semaphore
  3. Работа с deque из collections
  4. Открытие и редактирование скриптов Python
  5. Тайное преобразование типа ключа
  6. Обработка ошибок в JSON данных
  7. Срез списка в Python
  8. Проверка подстроки в строке
  9. Округление дробей в Python
  10. Получение текущей даты и времени с помощью datetime
  11. Закрытие файла в Python
  12. Создание даты из строки ISO
  13. Проверка условий в Python
  14. Python: отличительная особенность — отступы
  15. Повторение элементов списков
  16. Получение ID текущего процесса
  17. Замыкания в Python
  18. Применение промокода в Много лосося
  19. Вывод переменной и строки в Python
  20. Функция print() — вывод информации
  21. Работа с YAML в Python: PyYAML.
  22. Объединение Python и Shell
  23. Лимиты на ресурсы Python
  24. Генераторы списков в Python
  25. Оператор walrus в Python
  26. Локальные переменные.
  27. Методы split() и join() — Python строк.
  28. Работа с itertools
  29. Функция findall() для поиска вхождений строки
  30. Прокачанный трейсинг ошибок
  31. Генераторы списков в Python
  32. Поиск индексов подстроки
  33. Обмен значений переменных в Python
  34. Проверка кортежей.
  35. Python: изменяемые и неизменяемые коллекции
  36. Работа с каталогами в Python
  37. Оптимизация гиперпараметров в Python
  38. Проверка элемента в множестве.
  39. Функции map, filter и reduce
  40. Метод __iand__ для пользовательских классов
  41. Обход словаря в Python
  42. SciPy: широкий функционал для математических операций
  43. Очистка строки в Python
  44. Профилирование кода
  45. Многострочные комментарии в Python
  46. Декораторы в Python
  47. Преобразование Word в PDF с Spire.Doc

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