Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Metodi per far si che la lista rimanga modificata a livello globale

G
Giacomozm (1440 points)
19 59 68
in Es1 by (1.4k points)
Quando definisco la funzione e inserisco il metodo remove per modificare la lista, la lista a livello globale non viene modificata...Soluzioni?
630 views
closed

3 Answers

Best answer
LeonardoEmili (35740 points)
13 65 155
by (35.7k points)
selected by

Ciao!

Prova a passare la lista come argomento di una funzione, modificala all'interno di essa per poi ritornare la nuova lista cambiata ;)

Fammi sapere se hai risolto!

Leonardo Emili

G
Giacomozm (1440 points)
19 59 68
by (1.4k points)
dici che conviene effettuare la modifica tramite un altra funzione?
LeonardoEmili (35740 points)
13 65 155
by (35.7k points)
Questa è solo una possibile soluzione :)
Ovviamente tieni conto che questa come la soluzione promossa in precedenza funzionano solo su oggetti mutabili, quindi non funzionerà su stringhe, tuple ..
G
Giacomozm (1440 points)
19 59 68
by (1.4k points)
Però ancora me la modifica solo a livello locale non avendo un return della lista di input
Kobrax (3020 points)
8 18 27
by (3.0k points)
Ciao,
puoi provare ad inizializzare la tua variabile "lista" tramite la funzione "global". Se hai dubbi sull'uso, consulta un po' la documentazione relativa ad essa
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
Ma dai! Mo' pure le variabili globali... ma perché?
G
Giacomozm (1440 points)
19 59 68
by (1.4k points)
Non dovrebbe modificarla anche se non la inizializzo?
edoardo (7090 points)
19 52 67
by (7.1k points)
edited by
Puoi provare ad eliminare un elemento della lista attraverso del lista[indice_elemento].  Vedi anche qui: http://q2a.di.uniroma1.it/489/trasformare-la-lista-es-1-homework
Kobrax (3020 points)
8 18 27
by (3.0k points)
Sì intendevo che devi comunque crearla prima
A
Alessio.Luc (3920 points)
6 16 25
by (3.9k points)
Buonasera,

ti consiglio di controllare che la lista "originale", ricevuta come parametro della funzione, non venga sovrascritta in qualche passaggio del tuo programma. Potrebbe capitare che la sua identità venga modificata in seguito a qualche nuova assegnazione e che quindi il programma che sta chiamando la funzione non la riconosca come la stessa che aveva fornito come parametro, ma come una copia.

Spero di essere stato di aiuto :)