下面是一个按照兴趣爱好将人分组的示例代码:
# 假设有一组人员列表
people = [
{"name": "张三", "interests": ["篮球", "足球", "游泳"]},
{"name": "李四", "interests": ["足球", "乒乓球", "跑步"]},
{"name": "王五", "interests": ["羽毛球", "游泳", "跑步"]},
{"name": "赵六", "interests": ["篮球", "乒乓球", "游泳"]},
{"name": "钱七", "interests": ["足球", "游泳", "跑步"]},
{"name": "孙八", "interests": ["羽毛球", "篮球", "乒乓球"]}
]
# 创建一个空字典用于存储分组
groups = {}
# 遍历每个人员
for person in people:
# 遍历每个人员的兴趣爱好
for interest in person["interests"]:
# 如果该兴趣爱好已经作为分组的键存在,将该人员添加到对应的分组中
if interest in groups:
groups[interest].append(person["name"])
# 如果该兴趣爱好还没有作为分组的键存在,创建新的分组并将该人员添加到分组中
else:
groups[interest] = [person["name"]]
# 打印分组情况
for interest, members in groups.items():
print("{}组: {}".format(interest, members))
该示例代码首先创建了一个人员列表,每个人员都有一个姓名和兴趣爱好的列表。然后,创建一个空字典用于存储分组。接下来,使用两层循环遍历每个人员以及他们的兴趣爱好。如果某个兴趣爱好已经作为分组的键存在,就将该人员添加到对应的分组中;如果该兴趣爱好还没有作为分组的键存在,就创建新的分组并将该人员添加到分组中。最后,通过遍历分组字典打印出分组情况。