假设我有一个名为 dog 的类:
class dog():
def __init__(self, name, age):
self.name = name
self.age = age
self.fleas = []
现在假设我有一个名字列表,
names = ["bob", "joe", "dave"]
我创建了一个执行以下操作的列表:
dogs = [dog(name, index) for index, name in enumerate(names)] # Creates a list "dogs" that has 3 dog classes in it, named bob, joe, david, with ages 0, 1, 2 respectively.
现在我有一本跳蚤词典,
global_fleas = {"bob":[flea_43], "joe":[flea_20], "dave":[flea_3]}
并且有一些单独的方法flea_mod()
可以修改此字典,以便将每只狗的跳蚤编号更改为某个随机数,例如 flea_50。这本词典中的每只狗只有一只跳蚤。
我可以通过执行以下操作将 global_fleas 中的跳蚤附加到其相应的狗:
def dirty_dog(dog):
dog.fleas.append(global_fleas[dog.name])
这是踢球者。我想多处理这个循环。这是我现在拥有的:
while True:
flea_mod() # This randomizes the flea_number for each dog in the global_flea dictionary
pool = multiprocessing.Pool(processes=len(dogs))
[pool.apply_async(dirty_dog, dog) for dog in dogs]
pool.close()
pool.join()
所以问题是每次运行循环时每个狗对象都不会保留其跳蚤列表。我希望在每个循环结束时保留每只狗的跳蚤列表,所以在两个循环之后,每只狗都会有两个跳蚤,依此类推。有任何想法吗?我猜我得腌制一些东西。