在Python中,您可以使用过滤器函数执行类似列表理解的操作,以遍历字典列表并找到您想要的字典:
warranty_info = [warranty for warranty in warranty_info if
args.warranty_keyword.lower() in warranty['ServiceLevelDescription'].lower()]其中warranty_info是字典列表,ServiceLevelDescription是我要过滤的字段。结果是一个新的字典列表,其中只包含我想要的字典。在这种情况下,我正在查找所有在其ServiceLevelDescription字段中有用户提供的单词(warranty_keyword)的字典。
我知道如何在PowerShell中使用foreach循环来实现这一点--有没有一种像Python那样“更干净”的方式呢?
发布于 2021-02-18 02:37:17
我想通了--它实际上比Python更优雅(Grant的观点):
$WarrantyInfo | Where-Object 'ServiceLevelDescription' -Match ^*pro*
这个语法有很多隐含的含义。这将搜索HashTables的列表,并为每一个提取关键字ServiceLevelDescription -之后,它将检查是否与您在-Match开关后放置的任何内容匹配。
https://stackoverflow.com/questions/66247785
复制相似问题