@a3aquB

Python json Найти по значению, как?

{'cars': [{'model': 'Mitsubishi Lancer', 'id': 5419, 'plate': 'T111TT199'}, {'model': 'Honda VFR750', 'id': 5420, 'plate': 'E222EE177'}]}

Как мне, зная значение plate получить из json соответствующую model?
Например, на вход 'E222EE177', на выходе 'Honda VFR750'
  • Вопрос задан
  • 8883 просмотра
Решения вопроса 1
Ba1t
@Ba1t
import json

def model_by_plate(js, plate):
    for car in json.loads(js)['cars']:
        if car['plate'] == plate:
            return car['model']

print(model_by_plate(data, 'E222EE177'))
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
>>> str1={'cars': [{'model': 'Mitsubishi Lancer', 'id': 5419, 'plate': 'T111TT199'}, {'model': 'Honda VFR750', 'id': 5420, 'plate': 'E222EE177'}]}
>>> filter(lambda x: x['plate']=='E222EE177', str1['cars'])[0]['model']
'Honda VFR750'
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
ответы шикарны ))

см. еще json.loads() для первого шага
Ответ написан
Комментировать
@tplus
def main():
  cars = {'cars': [{'model': 'Mitsubishi Lancer', 'id': 5419, 'plate': 'T111TT199'}, {'model': 'Honda VFR750', 'id': 5420, 'plate': 'E222EE177'}]}
  for smth in cars['cars']:
    if smth['plate'] == 'E222EE177':
      print smth['model']
      break

>> Honda VFR750
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект