Как получить другие значения в словаре, тогда одно значение равно - PullRequest
1 голос
/ 15 января 2020

У меня есть список словарей. Я хочу получить значение пары словаря, когда значение другого равно 'x'

alphabets = [
              {"name": "abc", "value": "first_three"}, 
              {"name": "mno", "value": "middle"}, 
              {"name": "xyz", "value": "last_three"}
            ]

Как получить first_three, когда abc.

Это то, что Я делаю, но я не получаю никаких результатов.

res = [ sub['name'] for sub in d['alphabets'] ]
            if res == 'abc':
               val = [ sub['value'] for sub in d['alphabets'] ]
               print(val)

Я не получаю никаких результатов обратно. Как я могу получить first_three, когда name == 'abc

Ответы [ 2 ]

2 голосов
/ 15 января 2020
for d in list_dict:
  if d['name'] == 'abc':
    print d['value']

Я не совсем понимаю стратегию, которую вы используете в своем коде, которая не работает, но могу сказать вам одну вещь: res == 'abc' никогда не будет верным, потому что вы устанавливаете res в список в первой строке.

2 голосов
/ 15 января 2020

Использование списка понимания:

res = [d['value'] for d in list_dict if d['name'] == 'abc']

>>> print(res)
['first_three']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...