下面是一个示例代码,展示了如何按照一对多关系的平均值排序:
from collections import defaultdict
# 定义一对多的关系,这里使用字典表示
data = {
'A': [1, 2, 3],
'B': [4, 5],
'C': [6]
}
# 使用 defaultdict 创建一个空的列表,用于存储每个键的值
averages = defaultdict(list)
# 计算每个键的平均值,并将其存储到 averages 字典中
for key, values in data.items():
average = sum(values) / len(values)
averages[average].append(key)
# 按照平均值进行排序
sorted_averages = sorted(averages.items(), key=lambda x: x[0])
# 打印排序结果
for average, keys in sorted_averages:
print(f"Average: {average}, Keys: {keys}")
运行结果为:
Average: 2.0, Keys: ['A']
Average: 4.5, Keys: ['B']
Average: 6.0, Keys: ['C']
这个示例代码首先定义了一个一对多的关系,其中每个键都关联一个值列表。然后使用 defaultdict 创建一个空的列表,用于存储每个键的值。
接下来,代码迭代数据字典中的每个键值对,计算每个值列表的平均值,并将其存储到 averages 字典中的对应键下的列表中。
最后,代码使用 sorted 函数按照平均值对 averages 字典进行排序,并将排序结果打印出来。
上一篇:按照移动平均值退出