我有一个包含对象列表的对象。我想做类似的事情:
def compute_weight(particle, data):
particle.weight = run_computation(data)
class SomeClass:
def __init__(self):
self.particles = [obj1, obj2, etc]
def run(self, data):
[compute_weight(particle, data) for p in self.particles]
这些可以独立运行,但我需要 self.particles 来包含每个更新的粒子。目前,我有一个技巧可以将两个参数推入 pool.map 函数
# equivalent function as above
pool.map(compute_weight_star, itertools.izip(self.particles,
itertools.repeat(data)))
但是每个particle.weight 似乎都没有更新。我究竟做错了什么?