我的代码如下
result = [{"origin_location":'original', 'service':'amazon'},
{'origin_location':'duplicate', 'service':'flipkart'}]
我想要的是结果
[{'origin_location':'duplicate', 'service':'flipkart'}]
即,仅获取服务为 Flipkart 的那些列表项。
我已经尝试了我的代码,如下
result = filter(lambda x: (line['service'] for line in result) == 'flipkart', result)
print ("Result= ", result)
但它只显示[]。如何更正我的代码以获得正确的输出? 提前致谢。
最佳答案
您可以使用列表理解来仅保留符合此条件的项目
>>> result = [i for i in result if i.get('service') == 'flipkart']
>>> result
[{'origin_location': 'duplicate', 'service': 'flipkart'}]
关于python - 如何通过与条件匹配的值来过滤列表中的字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50271762/