PowerShell-搜索哈希表列表并根据键对其进行筛选

PowerShell-搜索哈希表列表并根据键对其进行筛选,powershell,list-comprehension,Powershell,List Comprehension,在Python中,您可以使用过滤器函数执行类似列表理解的操作,以浏览字典列表并找到所需的字典: 保修信息=[保修信息中的保修信息,如果 args.warranty_关键字.lower()在保修['ServiceLevelDescription']中。lower()] 其中,保修信息是一个字典列表,ServiceLevelDescription是我要筛选的字段。结果是一个新的字典列表,其中只有我想要的字典。在本例中,我将查找所有在其ServiceLevelDescription字段中有用户提供的

在Python中,您可以使用过滤器函数执行类似列表理解的操作,以浏览字典列表并找到所需的字典:

保修信息=[保修信息中的保修信息,如果
args.warranty_关键字.lower()在保修['ServiceLevelDescription']中。lower()]
其中,保修信息是一个字典列表,
ServiceLevelDescription
是我要筛选的字段。结果是一个新的字典列表,其中只有我想要的字典。在本例中,我将查找所有在其
ServiceLevelDescription
字段中有用户提供的单词(
warranty\u关键字
)的词典


我知道如何在PowerShell中使用foreach循环来实现这一点-有没有像Python那样的“更干净”的方法?

我找到了答案-它实际上比Python更优雅(Grant的观点):

$WarrantyInfo |其中对象'ServiceLevelDescription'-Match^*pro*


语法中有很多隐含的东西。这将搜索哈希表列表,并为每个哈希表提取关键字
ServiceLevelDescription
——之后,它将检查是否与您在
-match
开关后放置的任何内容匹配。

您给出的python示例本质上不是foreach循环吗?请与我们分享您对“清洁度”的定义:-)