Курс 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"
- Функция enumerate() — Python
- Создание функций высшего порядка
- Участие в сообществе @selectel
- Сортировка и разворот списка
- Управление импортом в Python
- Удаление элементов по срезу
- Асинхронное выполнение задач в процессах
- Ускорение выполнения кода в Python
- Ускоренный импорт библиотек
- Избегайте использования goto
- Добавление цвета в консоли
- Отладка в командной строке
- Библиотека Rich: форматирование текста
- Метод join() для объединения строк
- CLI-инструмент howdoi
- Синхронизация доступа к ресурсам
- Лямбда-функции в Python
- Замена переменных в Python
- Логирование в Python
- Оператор == в Python
- Представление бесконечности в Python
- Функция pow() — возвести число в степень
- Метод Enumerate() для списков
- Создание функций с произвольным количеством аргументов
- Преобразование чисел в восьмеричную строку
- Получение срезов итераторов
- Списки в Python: синтаксис представления
- Цикл for в Python
- Модуль Antigravity в Python 3
- Управление User-Agent в Python
- Создание вложенных циклов for
- Создание словаря в Python
- Поиск самого длинного слова в списке с использованием max()
- Операции с комплексными числами
- Python Аргументы по умолчанию
- Обмен значений переменных в Python
- Установка максимального количества цифр
- Разрешение имен в Python
- Константы в модуле cmath
- Удаление элементов из списка в Python
- Magic Commands — улучшение работы с Python
- Декораторы в Python
- Проверка переменных окружения в Python
- Выход из профиля в Django
- Подписка на @SelectelNews
- Многострочные комментарии в Python
- Удаление символа из строки
- Выражения-генераторы в Python















