Python initialisation de la liste dans la boucle for

Comment initialiser une liste dans une boucle for:

for x, y in zip(list_x, list_y):
     x = f(x, y)

malheureusement, cette boucle ne modifie pas list_x même si je le veux.

Est-il un moyen d'avoir des références pour les éléments de list_x dans la boucle?

Je me rends compte que je pouvais utiliser une compréhension de liste, mais c'est dur à lire quand pour la boucle est très compliqué.

Edit: Mon for boucle est de 20 lignes. Serait, normalement, vous mettez 20 lignes en une seule liste de compréhension?

  • Si le résultat souhaité est seulement la modification de la liste, vous pouvez passer la plupart de la complexité dans f et l'utilisation d'une compréhension. Sinon, de manière explicite de la boucle est beaucoup mieux.
  • Sont il y a vingt lignes ayant des effets secondaires? (Si oui, oubliez les interprétations de la liste!) Et pourquoi n'ont-ils pas partie de f?
  • que voulez-vous dire exactement par des effets secondaires?
  • Les instructions d'affectation ont des effets secondaires. Les Variables sont modifiées. Une chose difficile à faire dans une compréhension de liste.
InformationsquelleAutor Neil G | 2011-01-26