python - 按 x、y 和多个 z 存储点

标签 python arrays list dictionary store

我会写一个例子,这样你就可以理解我了:

例如,我有这 3 个点:(0, 1, 244) - (0, 1, 255) - (1, 2, 133)

实际上,当 2 个点具有相同的 (x, y) 时,我需要对 Z 进行平均。我的想法是将它们存储在具有双索引/键的东西(数组,字典?)中,其中值是 Z 的数组。

所以我基本上想要这个:[0, 1, [244, 255]] 和 [1, 2, [133]]

我的问题是我不知道用什么最简单的方式来存储它们...

提前致谢!

最佳答案

使用字典:

points = [(0, 1, 244), (0, 1, 255), (1, 2, 133)]
d = {}
for point in points:
    key = point[:2]
    if key in d.keys():
        (d[key]).append(point[2])
    else:
        d[key] = [point[2]]
print(d)

对于平均值:

import numpy as np
for k in d.values():
    print(np.mean(k))

关于python - 按 x、y 和多个 z 存储点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43775108/

相关文章:

python - 天气 "events"根据 Pandas 的时差进行分组

python - 如何处理静态文件写app.yaml?

arrays - didSelectRowAt 更改所有行中的值

R 将多个列表元素分配给同一个对象

python - 从字典中获取列表中元素的 True 或 False 值

python - 尝试将矩阵旋转 90 度但无法正常工作

Python类成员或全局变量

javascript - 为什么当我返回 `_.map` 时 `false` 返回未定义?

javascript - 如何在 lodash 中使用数组过滤条件来对抗对象?

Python 二十一点计数