【发布时间】:2019-10-26 01:49:57
【问题描述】:
我有一个字典列表,我想按其他字典中的值对其进行过滤。
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"},]
预期结果示例1:
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"}]
预期结果示例2:
filter = {"name":"Peter","number":"445"}
orig_list[
{"name":"Peter","last_name":"Roesner","mail":"Peter2@mail.com","number":"445"}]
过滤器可以有多个键。可能的键是(名称,姓氏,数字)。 基本上我想要的是通过字典列表并检查每个字典是否包含来自给定过滤器的键,如果包含,则检查键值是否匹配。如果他们不这样做,请从 dict 列表中删除整个 dict。
最终列表不一定是 orig_list。它可以是一个新列表。因此,从 orig_list 中删除 dicts 不是强制性的。字典也可以复制到新的字典列表中。
【问题讨论】:
-
你尝试过什么,它到底有什么问题?
标签: python python-3.x algorithm dictionary