Avatar ·

Как получить все ключи с одинаковыми значениями?

📁 словарь, python

Есть такой словарь : mydict = {'main':'open','second':'close','third':'open'}. Надо из него получить все ключи со значениями 'open'.

Пробовал такой код:

mydict = {'main':'open','second':'close','third':'open'}print(list(mydict.keys())[list(mydict.values()).index('open')])

Он выводит только main. Как вывести все ключи со значением 'open'?

Avatar ·

Изучите списковые включения, они очень часто пригождаются в питоне, поскольку позволяют довольно кратко и понятно делать выборки:

mydict = {'main':'open','second':'close','third':'open'}print([k for k in mydict if mydict[k] == ""open""])

Вывод:

['main', 'third']

По сути, это тоже самое решение из другого ответа, только записанное в одну строку и без использования переменной для накопления списка.

Войдите чтобы оставить ответ

Блоги