анализировать данные c из списка, используя понимание списка - PullRequest
0 голосов
/ 13 апреля 2020

Я столкнулся с проблемой, которая заключается в синтаксическом анализе указанных c данных из списка. У меня есть список вроде:

response_list = [{
                "Name": "Brand",
                "Value": "Smart Planet",
                "Source": "ItemSpecific"
            },
            {
                "Name": "Color",
                "Value": "Yellow",
                "Source": "ItemSpecific"
            },
            {
                "Name": "Type",
                "Value": "Sandwich Maker",
                "Source": "ItemSpecific"
            },
            {
                "Name": "Power Source",
                "Value": "Electrical",
                "Source": "ItemSpecific"
            }]

Из списка я должен получить название бренда. Каждый раз, когда он придет в другую позицию. Как я могу получить его, используя список понимания. Выход будет как:

new_list =[{'Brand':'Smart Planet'}]

1 Ответ

1 голос
/ 13 апреля 2020

У вас есть список dict s, вы хотите взять только поля Name и Value этого списка.

Вы можете сделать:

[{item["Name"]: item["Value"]} for item in response_list]

Вы получаете:

[{'Brand': 'Smart Planet'}, {'Color': 'Yellow'}, {'Type': 'Sandwich Maker'}, {'Power Source': 'Electrical'}]

Это то, что вы хотите?

РЕДАКТИРОВАТЬ

Если вы хотите только название бренда, вам необходимо отфильтровать:

[{"Brand": item["Value"]} for item in response_list if item["Name"] == "Brand"]
...