以下是一个示例代码,展示了如何按照特定键对JSON对象数组进行分组并删除重复项。
import json
from itertools import groupby
# 假设我们有一个JSON对象数组
json_array = [
{"name": "John", "age": 25},
{"name": "Jane", "age": 30},
{"name": "John", "age": 35},
{"name": "Jane", "age": 40},
{"name": "John", "age": 45}
]
# 按照'name'键对数组进行分组
sorted_array = sorted(json_array, key=lambda x: x['name'])
# 使用groupby函数对分组后的数组进行迭代,并获取每个分组的第一个元素
unique_json_array = [next(group) for key, group in groupby(sorted_array, key=lambda x: x['name'])]
# 打印结果
print(json.dumps(unique_json_array, indent=4))
运行以上代码,将输出如下结果:
[
{
"name": "Jane",
"age": 30
},
{
"name": "John",
"age": 25
}
]
在示例代码中,我们首先使用sorted
函数按照'name'键对JSON对象数组进行排序。然后使用groupby
函数将排序后的数组进行分组,key=lambda x: x['name']
指定了按照'name'键进行分组。最后,我们使用列表推导式获取每个分组的第一个元素,即删除了重复项。最后打印结果即为按照'name'键分组并删除重复项的JSON对象数组。
上一篇:按照特定规则细分矩形
下一篇:按照特定键对字典进行排序