以下是一个按键值将数组项分组,并为分组的值添加一个关联元素的示例代码:
def group_items(array, key):
grouped_items = {}
for item in array:
item_key = item[key]
if item_key in grouped_items:
grouped_items[item_key].append(item)
else:
grouped_items[item_key] = [item]
return grouped_items
def add_associated_element(grouped_items, associated_key, associated_value):
for key, items in grouped_items.items():
for item in items:
item[associated_key] = associated_value
# 示例用法
array = [
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 30},
{"name": "Charlie", "age": 25},
{"name": "Dave", "age": 30}
]
grouped_items = group_items(array, "age")
add_associated_element(grouped_items, "group_id", 1)
print(grouped_items)
输出结果:
{25: [{'name': 'Alice', 'age': 25, 'group_id': 1}, {'name': 'Charlie', 'age': 25, 'group_id': 1}],
30: [{'name': 'Bob', 'age': 30, 'group_id': 1}, {'name': 'Dave', 'age': 30, 'group_id': 1}]}
以上代码首先定义了一个group_items
函数,它接受一个数组和一个键名作为参数,将数组项按照键值分组,并返回一个字典,其中键是分组的键值,值是对应的数组项列表。然后定义了一个add_associated_element
函数,它接受一个分组的字典、关联键名和关联值作为参数,遍历分组字典中的每个分组和其中的数组项,并为每个数组项添加一个关联元素。最后,示例代码创建了一个数组,调用group_items
函数将数组项按照age
字段进行分组,然后调用add_associated_element
函数为每个分组的数组项添加了一个group_id
字段,并打印了最终的分组字典。
上一篇:按键值将对象条目按字母顺序排序
下一篇:按键值进行筛选和分组