gpt4 book ai didi

python - 使用旧列表中复制和平均的项目创建新列表

转载 作者:太空宇宙 更新时间:2023-11-04 01:22:47 26 4
gpt4 key购买 nike

我有一个由几个子列表组成的主列表,这些子列表又由子列表组成(即:子子列表)这是我的意思的一个最小示例:

a = [[[0,1,2,3], [0,4,5,6]], [[1,1,2,7], [1,4,5,8]], [[2,1,2,9], [2,4,5,10]]]

请注意,每个子子列表中的0项表示其所在子列表的索引,12 每个子列表中的两个子列表中的项是等价的,第三项不同。

我需要创建一个基于该列表的新列表,方法是省略零项,然后从每个子列表(其中相等),最后对第三项进行平均。所以新列表看起来像这样:

b = [[1,2,6.33], [4,5,8.]]

零项消失了,项目12被复制,第三项在子列表中平均:

6.33 = (3+7+9)/3
8. = (6+8+10)/3

我确信这可以使用 zipnp.mean 来完成,但我无法完成。顺便说一下,我可以接受不使用这些工具的答案,这只是我对答案可能在哪里的直觉。

最佳答案

我认为这行得通:

a = [[[0,1,2,3], [0,4,5,6]], [[1,1,2,7], [1,4,5,8]], [[2,1,2,9], [2,4,5,10]]]
arr = np.asarray(a)

b = arr[:, :, 1:].mean(0)

这依赖于子列表的项目 12 相同,因此它们的均值不会改变。

>>> b
array([[ 1. , 2. , 6.33333333],
[ 4. , 5. , 8. ]])

关于python - 使用旧列表中复制和平均的项目创建新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20102829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com