Skip to main content
 首页 » 编程设计

python之如何简化数组提取值

2025年05月04日13emanlee

是否有更简单的方法来解析一个包含列表的数组:

data = [{'id': '1456', 'type': 'hotel', 'money': '123'},  
{'id': '3215', 'type': 'appartment', 'rooms': '2', 'toilet': '1'}, 
{'id': '3213', 'type': 'hotel', 'money': '999'}] 

对此:

hotel = ['123, '999'] 

我想从 data 数组中提取 type 酒店的货币值,并将所有内容附加到一个数组中。

我想避免创建一个循环,并对其进行迭代,然后检查是否有一个名为 money 的 key。如果是这样,将其提取并附加到 hotel 数组。

我想这对 Python 来说似乎有点多余..

请您参考如下方法:

是的,你可以使用 list comprehension :

hotels = [d['money'] for d in data if d['type'] == 'hotel'] 

这将有效地查看 data 数组并将每个字典提取为 d,然后仅将 d['money'] 添加到如果类型为 'hotel',则为结果数组。