Курс 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"
- Работа с географическими данными в Python
- Получение размера объекта с sys.getsizeof()
- Аннотации типов в Python
- Метод join() с набором
- Извлечение данных из JSON
- Метод __getitem__ в Python
- Множества и frozenset
- Анонимные функции в Python
- Вывод букв строки в Python
- Объединение списков с помощью zip
- Официальный канал Python в Telegram
- Оператор break в Python
- Сортировка списка по индексам
- Генерация QR-кодов с библиотекой qrcode
- Создание треугольника Паскаля
- Выбор редактора кода.
- Комментарии в Python
- Проверка версии Python
- Управление асинхронными задачами с помощью Semaphore
- Сортировка в Python
- Склеивание строк через метод join()
- Объединение списков в Python
- Многострочные строки в Python
- Сохранение и загрузка модели в PyTorch
- Метод __call__ в Python
- Работа с типами данных в Python с помощью pydantic.
- Проверка запуска скрипта или импорта модуля
- Метод rename() для переименования файлов и каталогов
- Работа с URL-адресами в Python
- Вычисление логарифмов в Python
- Реверс строки в Python
- Работа с argparse
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Оператор del в Python
- Установка и использование howdoi
- Dict Comprehension в Python
- Создание лямбда-функций
- Работа с исключениями в Python
- Функция enumerate() в Python
- Объединение, распаковка и деструктуризация
- Работа с YAML в Python
- Оператор is в Python
- Декораторы с аргументами
- Отделение звука от видео
- Преобразование списка в словарь через генератор
- Руководство по Pymorphy2















