Portée et modification d'un set au travers d'une fonction?
Bonjour,
j'ai besoin de créer une fonction permettant la modification d'un set entrée en paramètres, néanmoins si j'arrive a créer une copie locale de ce set à l'intérieur de la fonction et à le modifier en interne de cette fonction (ce qui en soi ne me sert à rien) je n'arrive pas à modifier le set entrée en paramètre (je ne sais pas si je suis très clair), enfin si mais je ne parviens qu'as l'effacer. Y a-t-il moyen de modifier des set() au travers de fonctions ou de créer des set de portées globales ?
Voici l'appel de la fonction que j'ai réalisé et la fonction en elle même:
Code:
GestionBlockEnVol(canvas, Image,CasePleine)
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
| def GestionBlockEnVol(canvas, Mur, CP): #CP= Cases Pleines
for J in range(len(CaseListe)):
if len(CaseListe[J]) == NOMBRECASELARGEUR:
for i in CaseListe[J]:
canvas.delete(i)
SetInter1 = set()
SetInter2 = set()
SetInter3 = set()
SetInter3 = CP.copy()
for l in CP:
if l[1]== J:
SetInter1.add(l)
if l[1] < J:
SetInter2.add((l[0],l[1]+1))
SetInter1.add(l)
CP.clear()
print("setInter3 ",SetInter3," SetInter1 ",SetInter1," SetInter2 ", SetInter2 )
CP = (SetInter3.difference(SetInter1)).union(SetInter2)
SetInter1.clear()
SetInter2.clear()
SetInter3.clear()
print("CP",CP) |
En sortie de fonction, CasePleine est vide mais CP contient plein d'éléments.
Merci d'avance