Курс 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. Определение относительного пути
  3. Создание циклической ссылки
  4. Объединение словарей в Python
  5. Сортировка списка по индексам
  6. Работа с асинхронными задачами в Python
  7. Улучшение читаемости кода в Python
  8. Big O оптимизация
  9. Каналы Senior: Python, Java, Frontend, SQL, C++
  10. Работа с IP-адресами в Python
  11. Оператор in для проверки наличия элемента
  12. Генератор списка в Python
  13. Метод split() для разделения строк
  14. Глобальные переменные в Python
  15. Асинхронное выполнение задач в Python
  16. Изменение элемента списка
  17. Управление IP-адресами через прокси
  18. Область видимости переменных
  19. Управление User-Agent в Python
  20. Объединение словарей в Python
  21. Работа с путями в Python
  22. Основные методы NumPy
  23. Работа с OpenCV
  24. Конкатенация строк с методом join()
  25. Лямбда-функции в Python
  26. UserString в Python
  27. Метод add для класса Vector
  28. Библиотека wikipedia для Python
  29. Копирование и вставка текста в Python
  30. Генерация чисел с range()
  31. Нахождение разницы между списками в Python
  32. Идентификатор объекта в Python
  33. Удаление файлов в Python
  34. Оператор «not» в Python
  35. Декораторы в Python
  36. Экспорт данных в файл.
  37. Создание списка через итерацию
  38. Поиск наиболее частого элемента
  39. Присоединение элементов коллекции
  40. Метод ipow для возведения в степень
  41. Получение списка кортежей из словаря
  42. Группы исключений в Python
  43. Создание словарей с defaultdict()
  44. Создание словарей в Python
  45. Удаление дубликатов с помощью множеств
  46. Ограничение ресурсов в Python

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