Получение нескольких списков на основе разных ключей из списка словарей - PullRequest
0 голосов
/ 18 июня 2020

У меня есть такой список словарей:

temp = [
    {
        "item": "apple",
        "id": 1
    },
    {
        "item": "ball",
        "id": 2
    },
    {
        "item": "cake",
        "id": 3
    }
]

Мне нужны два списка:

["apple", "ball", "cake"]
[1, 2, 3]

Можем ли мы сделать это, используя понимание списка?

I сделали так:

list_item=[]
list_id=[]
for val in temp:
    list_item.append(val["item"])
    list_id.append(val["id"])

Ответы [ 2 ]

2 голосов
/ 18 июня 2020

Используйте ключ словаря item для хранения значений в l1 и id для хранения значений в l2.

q = [
    {
        "item": "apple",
        "id": 1
    },
    {
        "item": "ball",
        "id": 2
    },
    {
        "item": "cake",
        "id": 3
    }
]

l1 = [dic['item'] for dic in q]
l2 = [dic['id'] for dic in q]

в одном l oop:

l1,l2 = [],[]
for dic in q:
    l1.append(dic['item'])
    l2.append(dic['id'])
0 голосов
/ 18 июня 2020
x =  {"item": "apple","id": 1}
y = json.loads(x)
a[0]=y["item"]
b[0]=y["id"]

можно попробовать вот так

Вот это: https://www.w3schools.com/python/python_json.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...