我这样做的方式是:
self.cleaned = []
for a in self.P[-1]:
for b in a:
for c in b:
for d in c:
self.cleaned.extend(d)
这是非常丑陋和不直观,是否有一个正确的方法这样做?也许使用numpy
答案 0 :(得分:1)
您可以使用np.ndarray.flatten
直接使用numpy展平:
self.cleaned = np.array(self.P).flatten()
答案 1 :(得分:0)
np.ravel
的效果非常好:
self.cleaned = np.ravel(np.array(self.P[-1]))
ravel
碰巧比flatten
更便宜,更快,因为前者通过修改步幅返回原始数组(创建调用np.array
)的视图。后者返回原始列表的完整副本,并且速度较慢。