【发布时间】:2015-02-02 03:23:59
【问题描述】:
我有一个 3D 点列表,我正在尝试将其映射到如下列表:
plot = map(lambda x: (x[0], x[1], x[2], voxelGrid[x]), data)
这不符合我的要求。
目的是让plot[0] 保存第一个数据索引中的所有值,plot[1] 保存第二个索引中的所有值,依此类推。
我可以通过对我尝试分组的每个不同值执行列表推导来真正低效地做到这一点,但我觉得有更好的方法。
数据
data = [(35, 35, 32), (35, 36, 33), (35, 38, 34)...] # xyz points
voxelGrid 是一个 3D numpy 数组,其中包含上述每个点的值。
我正在尝试得到这个输出:
plot = [(35,35,35),(35,36,38), (32,33,34), (voxelGrid[first point], voxelGrid[second point], voxelGrid[third point])]
【问题讨论】:
-
plot = zip(*data)可能是。 -
我也在尝试添加第四个元素,这是
xyz位置的强度值 -
你在使用 NumPy 吗?请提供一些示例数据和预期输出。
标签: python list numpy list-comprehension