Python等效于PowerShell where对象



我有一个从web请求返回的JSON数据集,看起来像这样:

[{'name': 'Reference', 'unit': 'Volts'},
{'name': 'House', 'unit': 'Watts'},
{'name': 'House', 'unit': 'Watt-Hours'},
{'name': 'House', 'unit': 'Volts'},
{'name': 'Solar', 'unit': 'Watts'},
{'name': 'Solar', 'unit': 'Watt-Hours'},
{'name': 'Solar', 'unit': 'Volts'}]

我正在寻找一种简单的方法来返回一个可迭代的列表,按单元过滤。在PowerShell中,我会使用:

$list = $data | Where-Object { $_.unit -eq 'Watts' }

不幸的是,我在Python方面几乎没有经验。我认为我可以将filter()与lambda表达式一起使用,但似乎无法正确使用语法。

当然,发布问题的行为会让我找到答案:

list = filter(lambda x: x['unit'] == 'Watts', data)

最新更新