[Python] Ciclo for e variabili passate per riferimento

Francesco Maida dev a cesco.it
Gio 13 Set 2012 22:29:43 CEST


So che questa č la classica domanda da niubbo, ma sarā che č tardi, sarā
che non sono bravo a cercare su internet e sarā che sono davvero un niubbo
di Python... fattostā che non ho trovato rapidamente una soluzione al mio
problema e quindi ho pensato di chiedere un parere a voi esperti.

Facciamo finta di voler scrivere una funzione che scherzosamente provi a
trasformare un'array di nomi italiani nelle loro improbabili versione
russe, aggiungendo un suffisso "-sky" al termine di ogni nome:

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"]


Grazie mille

P.S.: Spero che non ci sia nessun russo che si incacchi leggendo questo
thread, l'esempio l'ho fatto con la prima idea che mi č venuta in mente...
-------------- parte successiva --------------
Un allegato HTML č stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120913/279016ce/attachment.html>


Maggiori informazioni sulla lista Python