[英]Python: Dictionary in List Intersection
我有两本词典,这里是词典:
a = [{'filtered':'eat','lang':'en'},{'filtered':'drink','lang':'en'},{'filtered':'makan','lang':'id'},{'filtered':'minum','lang':'id'}]
b = [{'filtered':'drink','lang':'en'},{'filtered':'makan','lang':'id'},{'filtered':'tidur','lang':'id'}]
我想将这两个字典与 'filtered' 的值作为过滤变量相交,我希望结果是这样的:
result = [{'filtered':'drink','lang':'en'},{'filtered':'makan','lang':'id'}]
像这样在列表中与字典相交的代码是什么? 感谢您的回复。
简单地:
>>> [v for v in a if v in b]
[{'filtered': 'drink', 'lang': 'en'}, {'filtered': 'makan', 'lang': 'id'}]
请注意,这是一个 O(N^2) 操作,但由于 dicts 在 Python 中不可散列,因此加速它是很重要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.