Forum >> Principianti >> aggiornare una lista

Pagina: 1

ciao a tutti,
volevo sapere perché questa funzione non va bene per "aggiornare" una lista.
dovrebbe controllare se una stringa è stata già inserita nella lista, se si non produce niente, altrimenti dovrebbe aggiungerla e scrivere la stringa.
def controllo(stringa):
    lista=[]
    i=0
    while i<len(lista):
        if stringa!=lista:
            i=i+1
        else:
            return
    lista=stringa
    return stringa   


volevo sapere perché questa funzione non va bene per "aggiornare" una lista
I motivi per cui non va bene sono i seguenti:

1) La lista è creata vuota all'interno della funzione, quindi qualsiasi controllo viene effettuato sempre su una lista vuota.
1bis) Il test su un elemento di una lista non si ottiene con un confronto di uguaglianza o diversità con il nome della lista.
2) L'aggiunta di un elemento a una lista si ottiene con il metodo append della lista stessa, ma in quel codice non vi è alcuna istruzione di aggiunta.
2bis) lista = stringa non aggiunge un elemento a lista, ma assegna alla variabile 'lista' lo stesso valore della variabile 'stringa'.
3) Non vi è alcuna istruzione di stampa per scrivere la stringa.

*** Il codice va evidenziato con il simbolo di fianco ai colori per non perdere l'indentazione ***


Pagina: 1



Esegui il login per scrivere una risposta.