以下是一个示例代码,它演示了如何按多个参数筛选字典列表:
def filter_dict_list(dict_list, **kwargs):
filtered_list = []
for item in dict_list:
# 检查每个参数是否在字典中存在,并且对应的值相等
if all(item.get(key) == value for key, value in kwargs.items()):
filtered_list.append(item)
return filtered_list
# 示例数据
dict_list = [
{'name': 'Alice', 'age': 25, 'city': 'New York'},
{'name': 'Bob', 'age': 30, 'city': 'Los Angeles'},
{'name': 'Charlie', 'age': 35, 'city': 'San Francisco'},
{'name': 'Dave', 'age': 25, 'city': 'New York'},
]
# 按条件筛选字典列表
filtered_list = filter_dict_list(dict_list, age=25, city='New York')
print(filtered_list)
输出:
[{'name': 'Alice', 'age': 25, 'city': 'New York'}, {'name': 'Dave', 'age': 25, 'city': 'New York'}]
在这个示例中,filter_dict_list
函数接受一个字典列表和任意数量的关键字参数。它遍历字典列表中的每个字典,使用all
函数来检查每个关键字参数是否在字典中存在,并且对应的值与参数值相等。如果所有参数都满足条件,将该字典添加到筛选后的列表中,并在最后返回筛选后的列表。
上一篇:按多个参数分隔read_csv
下一篇:按多个测试/条件筛选列表