Ma question concerne le style de codage: Quand je veux appliquer une procédure à plusieurs variables, comme:plusieurs lignes similaires en python
from pylab import vstack # the function to apply to many variables
v1 = range(5) # some dummy variables
v2 = range(9)
...
v20 = range(8)
# now, I want to apply a function to all variables that changes them!
v1 = vstack(v1) # I really do not need the "old" v1 anymore
v2 = vstack(v2)
...
v20 = vstack(v20)
Ce sont 20 lignes de presque le même code. Existe-t-il un moyen d'écrire les conversions (vx = vstack(vx)
) en moins de lignes?
Les mettre dans un itérables ne fonctionne pas:
all_v = [v1, v2, v3, .... , v20]
for v in all_v:
v = vstack(v)
type (v1) # -> v1: <type: list>
Votre proposition à « regrouper » les variables travaux bien sûr, et je pense que je vais le faire. Cependant, j'aimerais savoir (curiosité) s'il y a une solution à mon problème? – Moritz
Vous pouvez le faire en mettant à jour le dictionnaire 'locals()'. Cependant, ce n'est vraiment pas recommandé. 'locals(). update ({k: v pour k, v dans les locals(). items() si k dans ['v1', 'v2' ...]})' –
C'est tout - Merci! – Moritz