Как я могу получить значение словаря в списке словарей на основе словаря, удовлетворяющего некоторому условию? Например, если один из словарей в списке имеет идентификатор = 5, я хочу, чтобы напечатать значение, соответствующее name
ключа этого словаря:Python - Получить элемент словаря в списке словарей после оператора if
list = [{'name': 'Mike', 'id': 1}, {'name': 'Ellen', 'id': 5}]
id = 5
if any(m['id'] == id for m in list):
print m['name']
Это не будет работать, потому что m
не определена вне оператор if.
Так как это может быть обработано с довольно основным списком пониманием, я бы предположил, что это «Pythonic» способ решить свою проблему, так как против явного написания цикла. – Aaron
@ Аарон Я сомневаюсь, что просто распечатать имя - цель. Если мы предположим, что в этот момент нужна еще более сложная логика, понимание списка может оказаться нецелесообразным. (И OP, похоже, не понимает, как использовать словари, поэтому я думаю, что это плохое время, чтобы объяснить понимание списков.) – theJollySin