python中多级嵌套列表的平均值

python中多级嵌套列表的平均值,python,list,average,nested-lists,Python,List,Average,Nested Lists,我有一张这样的清单 b= [ [ [[1],[2],[3]], [[4],[5],[6]], [[7],[8],[9]] ], [ [[1],[2],[3]], [[4],[5],[6]], [[7],[8],[9]] ], [ [[1],[2],[3]], [[4],[5],[6]], [[7]

我有一张这样的清单

b= [
    [
        [[1],[2],[3]],
        [[4],[5],[6]],
        [[7],[8],[9]]
        ],
    [
        [[1],[2],[3]],
        [[4],[5],[6]],
        [[7],[8],[9]]
        ], 
    [
        [[1],[2],[3]],
        [[4],[5],[6]],
        [[7],[8],[9]]
        ]
]
这个列表最多可以有10个嵌套列表,我们这里只看到3个。 我想以这样一种方式来平均这个列表,最终,我

b= [
        [[1],[2],[3]],
        [[4],[5],[6]],
        [[7],[8],[9]]
        ]
请注意,第一个嵌套列表的第一个元素是所有其他嵌套元素的平均值。更准确地说,所有的都应该是平均值。然后所有的2应该一起平均,直到9。最后,我必须保留上面所示的结构。

在这种情况下,numpy是你的朋友。如果我们把b转换成np数组,它的形状是3,3,3,1。这里的1表示内部列表的长度。我们可以使用沿第一轴的平均值方法来获得答案。您可以将其转换回列表,但如果要进行更多分析,您可能希望使用numpy

将numpy作为np导入 答案=np.arrayb.meanaxis=0.tolist 答案在哪里

[ [[1.0], [2.0], [3.0]], [[4.0], [5.0], [6.0]], [[7.0], [8.0], [9.0]] ] 如果要将答案保留为整数,则可以显式请求数组为int类型:

np.arrayb.meanaxis=0.astypeint.tolist 在这种情况下,numpy是你的朋友。如果我们把b转换成np数组,它的形状是3,3,3,1。这里的1表示内部列表的长度。我们可以使用沿第一轴的平均值方法来获得答案。您可以将其转换回列表,但如果要进行更多分析,您可能希望使用numpy

将numpy作为np导入 答案=np.arrayb.meanaxis=0.tolist 答案在哪里

[ [[1.0], [2.0], [3.0]], [[4.0], [5.0], [6.0]], [[7.0], [8.0], [9.0]] ] 如果要将答案保留为整数,则可以显式请求数组为int类型:

np.arrayb.meanaxis=0.astypeint.tolist
到目前为止,你尝试了什么?@Raskayu我尝试了3个嵌套级别的循环,这需要大量的空间和时间。我试过使用zip函数,但我注意到zip可以工作到2个级别,而不是3个级别。我可以帮助lemme开始Replit您到目前为止尝试了什么?@Raskayu我尝试了3个嵌套级别的循环,这需要大量的空间和时间。我试过使用zip函数,但我注意到zip可以工作到2级,而不是3级。我可以帮助lemme开始使用它