Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2021-22 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2021-22 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

VIDEOLEZIONI DEL CORSO DI FONDAMENTI DI PROGRAMMAZIONE AA20-21

PROGRAMMING COURSE VIDEOCONFERENCES AY20-21

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

G
Giacomozm (1440 points)
9 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?
242 views
closed

3 Answers

Best answer
LeonardoEmili (35740 points)
11 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)
9 59 68
by (1.4k points)
dici che conviene effettuare la modifica tramite un altra funzione?
LeonardoEmili (35740 points)
11 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)
9 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)
6 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 (173640 points)
516 941 1795
by (174k points)
Ma dai! Mo' pure le variabili globali... ma perché?
G
Giacomozm (1440 points)
9 59 68
by (1.4k points)
Non dovrebbe modificarla anche se non la inizializzo?
edoardo (7090 points)
14 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)
6 18 27
by (3.0k points)
Sì intendevo che devi comunque crearla prima
A
Alessio.Luc (3920 points)
5 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 :)