回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个字典列表,我想用其他字典的值来过滤它。你知道吗</p>
<pre class="lang-py prettyprint-override"><code>orig_list = [{"name":"Peter","last_name":"Wick","mail":"Peter@mail.com","number":"111"},
{"name":"John","last_name":"Hen","mail":"John@mail.com","number":"222"},
{"name":"Jack","last_name":"Malm","mail":"Jack@mail.com","number":"542"},
{"name":"Anna","last_name":"Hedge","mail":"Anna@mail.com"},
{"name":"Peter","last_name":"Roesner","mail":"Peter2@mail.com","number":"445"},
{"name":"Tino","last_name":"Tes","mail":"Tino@mail.com","number":"985"},]
</code></pre>
<p>预期结果示例1:</p>
<pre class="lang-py prettyprint-override"><code>filter = {"name":"Peter"}
orig_list[{"name":"Peter","last_name":"Wick","mail":"Peter@mail.com","number":"111"},
{"name":"Peter","last_name":"Roesner","mail":"Peter2@mail.com","number":"445"}]
</code></pre>
<p>预期结果示例2:</p>
<pre class="lang-py prettyprint-override"><code>filter = {"name":"Peter","number":"445"}
orig_list[
{"name":"Peter","last_name":"Roesner","mail":"Peter2@mail.com","number":"445"}]
</code></pre>
<p>过滤器可以有多个键。可能的键有(姓名、姓氏、号码)。
基本上,我想要的是遍历dict列表,检查每个dict是否包含给定过滤器中的键,如果包含,检查键值是否匹配。如果他们没有,从dict列表中删除整个dict</p>
<p>最终列表不必是原始列表。它可以是一个新的列表。所以从原始列表中删除dicts不是强制性的。这些dict也可以复制到新的dict列表中。你知道吗</p>