python3中array_column的等价物是什么

时间:2018-05-22 06:36:06

标签: python python-3.x array-column

我有一个字典列表,我想从每个字典中只获取一个特定的项目。我的数据模式是:

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循环。那么在我的案例中,python3中for的替代方案是什么? 提前谢谢。

1 个答案:

答案 0 :(得分:3)

您可以使用列表理解:

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