当Python列表中嵌套着多个JSON字典,我们要从中筛选出与某个key相同的数据时,可以通过以下步骤操作:
- 使用
json
库中的loads()
函数将JSON字符串转换为Python字典 - 遍历Python列表,逐个字典查找目标key并匹配
- 如果匹配成功,则保存该字典到一个新的列表
下面,我们将通过两个示例详细讲述这个过程。
示例一
假设我们有如下一个Python列表,其中包含5个JSON字典:
[
{
"name": "Alice",
"age": 22,
"gender": "female"
},
{
"name": "Bob",
"age": 30,
"gender": "male"
},
{
"name": "Charlie",
"age": 25,
"gender": "male"
},
{
"name": "David",
"age": 27,
"gender": "male"
},
{
"name": "Eve",
"age": 23,
"gender": "female"
}
]
现在,我们要从中筛选出所有gender
为male
的数据。可以按照以下步骤实现:
import json
json_str = 'JSON字符串' # 用实际的JSON字符串替换这里的占位符
jdata = json.loads(json_str) # 将JSON字符串转换为Python字典
result = [] # 用于保存筛选结果的列表
for item in jdata: # 遍历Python列表
if item['gender'] == 'male': # 查找与目标key相同的数据
result.append(item) # 如果匹配成功,则保存该字典到新的列表
print(result) # 打印筛选结果
最终输出结果如下:
[
{
"name": "Bob",
"age": 30,
"gender": "male"
},
{
"name": "Charlie",
"age": 25,
"gender": "male"
},
{
"name": "David",
"age": 27,
"gender": "male"
}
]
示例二
假设我们有如下一个Python列表,其中包含3个JSON字典:
[
{
"id": 1001,
"title": "Python基础教程",
"price": 39.99
},
{
"id": 1002,
"title": "Python实战项目",
"price": 59.99
},
{
"id": 1003,
"title": "Python高级编程",
"price": 99.99
}
]
现在,我们要从中筛选出id
为1002
的数据。可以按照以下步骤实现:
import json
json_str = 'JSON字符串' # 用实际的JSON字符串替换这里的占位符
jdata = json.loads(json_str) # 将JSON字符串转换为Python字典
result = [] # 用于保存筛选结果的列表
for item in jdata: # 遍历Python列表
if item['id'] == 1002: # 查找与目标key相同的数据
result.append(item) # 如果匹配成功,则保存该字典到新的列表
print(result) # 打印筛选结果
最终输出结果如下:
[
{
"id": 1002,
"title": "Python实战项目",
"price": 59.99
}
]
以上就是Python列表套JSON字典根据相同的key筛选数据的完整攻略,你可以根据以上示例代码,按照自己的需求来灵活运用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 列表套json字典根据相同的key筛选数据 - Python技术站