以下是一个示例代码,演示如何根据外部集合中标签数组中的标签进行分组:
from collections import defaultdict
# 外部集合
external_collection = [
{'id': 1, 'name': 'A', 'tags': ['tag1', 'tag2']},
{'id': 2, 'name': 'B', 'tags': ['tag2', 'tag3']},
{'id': 3, 'name': 'C', 'tags': ['tag1', 'tag3']},
{'id': 4, 'name': 'D', 'tags': ['tag1']},
]
# 以标签为键,分组为值的字典
grouped_dict = defaultdict(list)
# 遍历外部集合,按照标签进行分组
for item in external_collection:
for tag in item['tags']:
grouped_dict[tag].append(item)
# 输出分组结果
for tag, items in grouped_dict.items():
print(f"标签 '{tag}' 的分组:")
for item in items:
print(f"ID: {item['id']}, Name: {item['name']}")
print()
输出结果:
标签 'tag1' 的分组:
ID: 1, Name: A
ID: 3, Name: C
ID: 4, Name: D
标签 'tag2' 的分组:
ID: 1, Name: A
ID: 2, Name: B
标签 'tag3' 的分组:
ID: 2, Name: B
ID: 3, Name: C
以上代码使用了defaultdict
来创建一个以标签为键,分组为值的字典。然后,遍历外部集合中的每个项,将每个标签与对应的项添加到字典中的相应分组。最后,按照分组结果输出每个标签的分组。