Что является эквивалентом array_column в python3

У меня есть список словарей, и я хочу получить только определенный элемент из каждого словаря. Мой шаблон данных:

data = [
    {
        "_id": "uuid",
        "_index": "my_index",
        "_score": 1,
        "_source": {
            "id" : 1,
            "price": 100
        }
    },
    {
        "_id": "uuid",
        "_index": "my_index",
        "_score": 1,
        "_source": {
            "id" : 2,
            "price": 150
        }
    },
    {
        "_id": "uuid",
        "_index": "my_index",
        "_score": 1,
        "_source": {
            "id" : 3,
            "price": 90
        }
    }
]

Мой желаемый результат:

formatted_data = [
    {
        "id": 1,
        "price": 100
    },
    {
        "id": 2,
        "price": 150
    },
    {
        "id": 3,
        "price": 90
    }
]

Для формирования данных я использовал итерацию (for) лайк

formatted_data = []
for item in data:
    formatted_data.append(item['_source'])

В PHP я могу использовать array_column() вместо for петля. Так что же будет альтернативой for в python3 в моем случае? Заранее спасибо.

1 ответ

Решение

Вы можете использовать понимание списка:

In [11]: [e['_source'] for e in data]
Out[11]: [{'id': 1, 'price': 100}, {'id': 2, 'price': 150}, {'id': 3, 'price': 90}]
Другие вопросы по тегам