[DEB]Modification d'une liste dans une fonction par appel depuis une autre fonction
Bonsoir à tous .
Ce bout de code a été simplifié pour le problème.
On modifie une liste E[x] et on veut récupérer cette liste modifiée dans une autre liste nommée Voie[] en utilisant au passage une liste provisoire Pro[].
Ceci se passe dans la fonction autrechemin() (il s'agit d'un travail sur les graphes).
Tout va bien si on fait l'appel depuis le corps du programme. Mais en fait j'appelle autrechemin() depuis une fonction nommée test() et là,impossible de récupérer la liste modifiée Voie pour le corps du programme.
Y-a-t'il une solution ?
En vous remerciant de m'avoir consacré de votre temps
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| import copy
def autrechemin(her,long) :
for i in range (len(Ex)-1):
#Creation d'une liste provisoire destinée a être vidée
Pro.append(Ex[i])
#Transmission de Pro à la liste Voie destinée au corps du programme
Voie=copy.deepcopy(Pro)
del(Pro[:])
print('Liste Voie',Voie)
return Voie
def test(her,long) :
autrechemin(her,long)
######################################################################
Pro=[]
Voie=[]
Ex=['a', 'c', 'b', 'e']
her=Ex[3]
long=len(Ex)
#appel direct à partir d'ici qui fonctionne
#Voie=autrechemin(her,long) ceci marche
#appel de la première fonction Ceci ne marche pas
test(her,long)
print('Voie terminale',Voie) |