J'utilise le composant de rappel de multiprocessing.Pool comme ceci:Pourquoi list.extend est-il ajouté dans cette situation?
def foo(x):
err = []
return err
errors = []
res = pool.map_async(foo, mylist, callback=errors.extend)
print errors
Et je reçois:
[[]]
Si je joins une erreur de test à l'erreur à l'intérieur de foo(), je reçois ce :
[['test']]
Des idées que je manque ici?
Pourquoi ne pas reflètent ce comportement:
a = []
b = []
a.extend(b)
print a
Résultats:
[]
Je ne peux pas reproduire vos résultats. Quand je cours le code en haut (avec un peu de passe-partout pour le faire fonctionner), j'obtiens une liste vide comme résultat. Je reçois ceci dans les deux Python 3.6 (après avoir changé l'appel 'print') et dans 2.7. – Blckknght