要将列表按照指定的规则排序并添加平均值,您可以使用Python的列表排序和统计函数来实现。以下是一种可能的解决方案:
from collections import defaultdict
a_list = [['黑色', 110], ['白色', 120], ['黑色', 113], ['红色', 121], ['白色', 111], ['白色', 102]]
# 创建一个字典来存储每个颜色对应的值列表
color_dict = defaultdict(list)
# 将值添加到对应颜色的列表中
for color, value in a_list:
color_dict[color].append(value)
result = []
# 遍历字典中的每个颜色和对应的值列表
for color, values in color_dict.items():
# 对值列表进行排序
sorted_values = sorted(values)
# 计算平均值
average_value = sum(sorted_values) / len(sorted_values)
# 将排序后的值列表添加到结果中
for value in sorted_values:
result.append([color, value])
# 将平均值添加到结果中
result.append([color, average_value])
# 打印结果
for item in result:
print(item)
运行以上代码,您将得到所需的结果:
['黑色', 110]
['黑色', 113]
['黑色', 111.5]
['白色', 102]
['白色', 111]
['白色', 120]
['白色', 111.0]
['红色', 121]
['红色', 121.0]
注意,平均值是根据排序后的值列表计算得出的。