以下是一个示例代码,用于按类别对数组进行分组:
def group_by_category(arr):
grouped_dict = {}
for item in arr:
category = item["category"]
if category in grouped_dict:
grouped_dict[category].append(item)
else:
grouped_dict[category] = [item]
return grouped_dict
# 示例数据
arr = [
{"name": "item1", "category": "A"},
{"name": "item2", "category": "B"},
{"name": "item3", "category": "A"},
{"name": "item4", "category": "C"},
{"name": "item5", "category": "B"},
{"name": "item6", "category": "A"}
]
grouped = group_by_category(arr)
for category, items in grouped.items():
print(f"Category: {category}")
for item in items:
print(f" - {item['name']}")
输出结果:
Category: A
- item1
- item3
- item6
Category: B
- item2
- item5
Category: C
- item4
在上面的示例中,我们首先定义了一个名为group_by_category
的函数,该函数接受一个数组作为参数。然后,我们创建一个空字典grouped_dict
,用于存储按类别分组后的结果。
接下来,我们遍历数组中的每个元素,并获取其category
属性。如果该category
已经在字典grouped_dict
中存在,我们将当前项添加到对应的值列表中。否则,我们创建一个新的键值对,并将当前项作为列表的第一个元素。
最后,我们返回分组后的字典grouped_dict
。
在示例数据中,我们使用了一个包含多个字典的数组作为输入。每个字典代表一个项,包含name
和category
属性。我们将数组传递给group_by_category
函数,并将结果存储在grouped
变量中。
最后,我们遍历grouped
字典,并打印每个类别及其对应的项。