Курс 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
- Сортировка списка по индексам
- Работа с асинхронными задачами в Python
- Улучшение читаемости кода в Python
- Big O оптимизация
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Работа с IP-адресами в Python
- Оператор in для проверки наличия элемента
- Генератор списка в Python
- Метод split() для разделения строк
- Глобальные переменные в Python
- Асинхронное выполнение задач в Python
- Изменение элемента списка
- Управление IP-адресами через прокси
- Область видимости переменных
- Управление User-Agent в Python
- Объединение словарей в Python
- Работа с путями в Python
- Основные методы NumPy
- Работа с OpenCV
- Конкатенация строк с методом join()
- Лямбда-функции в Python
- UserString в Python
- Метод add для класса Vector
- Библиотека wikipedia для Python
- Копирование и вставка текста в Python
- Генерация чисел с range()
- Нахождение разницы между списками в Python
- Идентификатор объекта в Python
- Удаление файлов в Python
- Оператор «not» в Python
- Декораторы в Python
- Экспорт данных в файл.
- Создание списка через итерацию
- Поиск наиболее частого элемента
- Присоединение элементов коллекции
- Метод ipow для возведения в степень
- Получение списка кортежей из словаря
- Группы исключений в Python
- Создание словарей с defaultdict()
- Создание словарей в Python
- Удаление дубликатов с помощью множеств
- Ограничение ресурсов в Python















