我有一个字典列表,我想从每个字典中只获取一个特定的项目。我的数据模式是:
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
的替代方案是什么?
提前谢谢。
答案 0 :(得分:3)
您可以使用列表理解:
In [11]: [e['_source'] for e in data]
Out[11]: [{'id': 1, 'price': 100}, {'id': 2, 'price': 150}, {'id': 3, 'price': 90}]