Курс 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"
- Метод setdefault() в Python
- Поиск индекса элемента
- Оператор «is not» в Python
- Отправка POST-запроса в REST API
- Преобразование данных в Python
- Транспонирование 2D-массива с помощью zip
- Поиск HTML-элементов с BeautifulSoup
- Оптимизация параметров в Python
- Python union() функция — объединение множеств
- Подписка на Kaspersky Team
- Python Метод sleep() времени
- Зарезервированные слова в Python
- Изменение IP-адреса в Python
- Метод title() в Python
- Управление доступом к модулю
- Модуль itertools: комбинации и перестановки
- Работа с CSV файлами в Python
- Скрытие вывода данных
- Извлечение чисел из текста
- Работа с эмодзи в Python
- Обработка исключений в Python
- Получение списка кортежей из словаря
- Сохранение и загрузка модели в PyTorch
- Метод join для объединения строк
- Python: Splat-оператор и splatty-splat
- Изучение объектов с помощью dir()
- Форматирование кода на Python
- Транспонирование 2D-массива с помощью zip
- Генератор бросков кубиков
- Удаление и повторная вставка ключа в OrderedDict
- Проверка окончания строки с помощью str.endswith()
- Делегирование в Python
- Проверка запуска скрипта или импорта модуля
- Возврат значений из генератора
- Разделение строки на пары ключ-значение.
- Многопроцессорное программирование в Python
- Динамические маршруты во Flask
- Объединение словарей в Python
- Динамическая типизация в Python
- Уникальные значения из списка
- Кортеж в Python: создание, доступ, изменение
- Генератор чисел Фибоначчи
- Секреты Python
- Работа с путями в Python
- Распаковка аргументов в Python
- Операции с кортежами
- Функция zip() в Python















