以下是一个示例代码,可以按颜色将元素分组:
from collections import defaultdict
def group_by_color(items):
color_groups = defaultdict(list)
for item in items:
color = item['color']
color_groups[color].append(item)
return color_groups
# 示例输入数据
items = [
{'name': 'apple', 'color': 'red'},
{'name': 'banana', 'color': 'yellow'},
{'name': 'grape', 'color': 'purple'},
{'name': 'orange', 'color': 'orange'},
{'name': 'watermelon', 'color': 'green'},
{'name': 'kiwi', 'color': 'green'}
]
# 按颜色分组
color_groups = group_by_color(items)
# 打印分组结果
for color, group in color_groups.items():
print(f"Color: {color}")
for item in group:
print(f"- {item['name']}")
print()
输出结果如下:
Color: red
- apple
Color: yellow
- banana
Color: purple
- grape
Color: orange
- orange
Color: green
- watermelon
- kiwi
以上示例代码使用了defaultdict
来创建一个默认值为列表的字典color_groups
,然后遍历每个元素,将其按照颜色添加到对应的列表中。最后,通过遍历color_groups
字典,打印每个颜色分组中的元素。