Как я могу проверить, есть ли указанное значение в dict?

Я настраиваю скрипт, и мне нужно знать, есть ли указанное значение в моем словаре.

dict = {"1" : [1, 2, 3], "2" : [4, 5, 6]}

Дело в том, что я хочу проанализировать все списки из значений dict, но я не знаю, как мне это перевести.

Как я могу установить переменную в True, если 5 находится в словаре?

Еще один тема, где можно найти решение.

Возможный дубликат Получить ключ по значению в словаре

Cray 24.06.2019 12:21
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
48
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий
for key, value in d.items():
    if 5 in value:
        print('5 in dict')
        break
  • Используйте break, чтобы остановить цикл после нахождения значения и сэкономить время, не перебирая весь словарь.

Используйте iteritems() вместо items(), если вы используете python2.

Действительно спасибо, работает! Если я хочу вернуть ключ, относящийся к этому значению, могу ли я просто вернуть ключ из цикла?

Bando 24.06.2019 11:46

Да, вместо break можно return key

politinsa 24.06.2019 11:56

Например, как я могу вернуть индекс ключа вместо ключа?

Bando 24.06.2019 12:33

Во-первых, избегайте назначать имена встроенных функций, например dict.

Следующее относится к вашему варианту использования:

mydict = {"1" : [1, 2, 3], "2" : [4, 5, 6]}
for key, vals in mydict.items():
    if 5 in vals:
        print('Dict analyzed')

Делаю это на своем телефоне в 2:30 ночи, потому что не могу уснуть, так что терпите меня за плохое форматирование.

if any(5 in x for x in mydict.values()):
    print("dict analyzed")

Это один из изящных питонических способов сделать это. На высоком уровне вам нужно перебрать mydict.values(), который предоставляет итерацию значений mydict (dict состоит из пар ключ-значение.) Если одно из них содержит 5, то выведите «dict analysis».

Функция any, которую я использовал, — это синтаксический сахар; заметьте, идея высокого уровня остается прежней.

Другие вопросы по теме