繁体   English   中英

Python:列表交集中的字典

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM