如何筛选列表中符合指定key值条件的字典并将其存入独立列表
实现方法(Python环境)
首先先把你给出的示例数据补全为合法的Python字典结构:
original_data = [ {"country": "UK", "age": "no20", "mode": 1}, {"country": "USA", "age": 25, "mode": 0}, {"country": "France", "age": 23, "mode": 1} ]
方法1:筛选结果存入新列表(最常用)
用列表推导式直接过滤,代码最简洁:
# 所有mode为0的字典会被收集到filtered_list中 filtered_list = [item for item in original_data if item.get("mode") == 0]
说明:使用item.get("mode")而非item["mode"]是为了避免部分字典没有mode键时抛出异常,如果你能确认所有字典都存在mode键,可以直接替换成item["mode"] == 0。
方法2:筛选结果存入新字典
如果你需要用指定字段(比如国家名)当键做索引,可以用字典推导式:
# 以country字段为键,对应完整字典为值 filtered_dict = {item["country"]: item for item in original_data if item.get("mode") == 0}
运行后得到的filtered_list结果为[{'country': 'USA', 'age': 25, 'mode': 0}],完全符合筛选要求。
内容的提问来源于stack exchange,提问作者Luke Williams
相关产品推荐
相关产品推荐

