07 Июл 2023
1 мин
406

Инвертирование словаря в Python

При работе с Python часто возникает задача инвертирования словаря, то есть переворачивания местами ключей и значений. Это может быть полезно в многих

Содержание

При работе с Python часто возникает задача инвертирования словаря, то есть переворачивания местами ключей и значений. Это может быть полезно в многих случаях, например, когда нужно быстро найти ключ по значению.

Допустим, у нас есть следующий словарь:

dictionary = {'яблоко': 'красное', 'банан': 'желтый', 'груша': 'зеленая'}

И мы хотим его инвертировать, то есть получить словарь вида:

inv_dictionary = {'красное': 'яблоко', 'желтый': 'банан', 'зеленая': 'груша'}

Одним из простых способов сделать это в Python является использование генератора словарей. Генератор словарей — это элегантный и быстрый способ создания словаря на лету. В данном случае можно воспользоваться следующим кодом:

inv_dictionary = {v: k for k, v in dictionary.items()}

Здесь dictionary.items() возвращает пары (ключ, значение), {v: k for k, v in ...} создает новый словарь, где ключи и значения переставлены местами.

Важно отметить, что этот метод работает только в случае, если все значения в исходном словаре уникальны. Если в словаре есть повторяющиеся значения, то при инвертировании они перезапишут друг друга, так как в словаре не может быть дублирующихся ключей. В таком случае потребуется более сложная логика для обработки повторяющихся значений.

Содержание

Добавить комментарий

Узнай профессию по рисунку