python-3.x - 如何在字典中压缩多个列表并找到它们的平均值
问题描述
我将如何在字典中压缩列表:
somedict = {a: [1,2,3, b: [4,5,6], c: [7,8,9], d: [10,11,12]}
我想压缩列表中的所有值,所以它变成了这样:
dlist = [[1,4,7,10], [2,5,8,11], [3,6,9,12]]
然后添加它们,使其变为:
sumlist = [21, 26, 30]
然后最后通过除以每个列表的长度找到总和:
meanlist = [5.25, 6.5, 7.5]
我在想也许将列表存储在一个 numpy 数组中并调用 np.mean。
解决方案
这是一个不使用 numpy 的解决方案
首先我们声明字典
somedict = {"a": [1, 2, 3], "b": [4, 5, 6], "c": [7, 8, 9], "d": [10, 11, 12]}
然后我们将字典中的每个键一起压缩到列表列表中
dlist = list(zip(somedict["a"], somedict["b"], somedict["c"], somedict["d"]))
然后我们将 sum 映射到每个子列表以创建总和列表
sumlist = list(map(sum, dlist))
在这里,我使用 lambda 函数来创建一个未命名的函数,该函数计算列表的平均值并将其映射到每个子列表上。
meanlist = list(map(lambda x: sum(x)/len(x), dlist))
print("dlist: {}".format(list(dlist)))
print("Sumlist: {}".format(sumlist))
print("meanList: {}".format(meanlist))
#Output:
#dlist: [(1, 4, 7, 10), (2, 5, 8, 11), (3, 6, 9, 12)]
#Sumlist: [22, 26, 30]
#meanList: [5.5, 6.5, 7.5]
推荐阅读
- node.js - Azure函数获取订阅中的资源组列表-Nodejs
- html - 为什么是
标签占用空白而不是背景色 - javascript - 需要将逗号分隔的字符串转换为json字符串
- kubernetes - Kubernetes StatefulSets - 在每个工作节点上运行 pod
- node.js - 将 perf 与节点一起使用 - 查看 Javascript 函数
- terraform - Terraform - 多行 JSON 到单行?
- swift - collectionView iOS 13.2 中的 UILongPressGestureRecognizer 位置功能问题
- plsql - 检查 Oracle Apex PL/SQL 中的变量集是否包含 NULL
- css - 有什么方法可以使对话框的页眉和页脚在角材料中具有粘性
- python - 如何在python中使用嵌套的for循环?