[Python] Ciclo for e variabili passate per riferimento

Marco Beri marcoberi a gmail.com
Gio 13 Set 2012 22:57:44 CEST


2012/9/13 Francesco Maida <dev a cesco.it>

> nomi = ["Marco", "Filippo", "Leonardo", "Antonio"]
>
> def russianizza():
>     for nome in nomi:
>         nome = nome + "sky"
>  print(nome)
>

> Quando eseguo la funzione, ottengo i nomi:
>
> Marcosky
> Filipposky
> Leonardosky
> Antoniosky
>
> Quindi se vado a vedere il contenuto dell'array, ovviamente questo rimane
> invariato:
>
> >> nomi
> ["Marco", "Filippo", "Leonardo", "Antonio"]
>
> La mia semplice domanda è: C'è un modo per chiedere al ciclo for di
> passare un'elemento alla volta dall'array nomi alla variabile "nome" *NON*
> per valore *MA* per riferimento? In modo che al termine dell'esecuzione
> della funzione i rispettivi valori dell'array vengano modificati ?
>
> Quindi:
>
> >> nomi
> ["Marco", "Filippo", "Leonardo", "Antonio"]
> >> russianizza()
> Marcosky
> Filipposky
> Leonardosky
> Antoniosky
> >> nomi
> ["Marcosky", "Filipposky", "Leonardosky", "Antoniosky"]
>


for i, nome in enumerate(nomi):
    nomi[i] = russianizza(nome)

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120913/703ad3f5/attachment.html>


Maggiori informazioni sulla lista Python