Что эквивалентно array_column в python3 - PullRequest
0 голосов
/ 22 мая 2018

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

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 loop.Так что же будет альтернативой for в python3 в моем случае?Заранее спасибо.

1 Ответ

0 голосов
/ 22 мая 2018

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

In [11]: [e['_source'] for e in data]
Out[11]: [{'id': 1, 'price': 100}, {'id': 2, 'price': 150}, {'id': 3, 'price': 90}]
...