Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
Python:accorgimenti liste e tuple
Nuovo argomento   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
mdweb
Dio maturo
Dio maturo


Registrato: 18/12/07 16:59
Messaggi: 4412

MessaggioInviato: 26 Dic 2008 22:01    Oggetto: Python:accorgimenti liste e tuple Rispondi citando

A differenza delle stringhe,Le lista non creano un unico identificatore.

Codice:

>>> a=['a','b','c']
>>> b=['a','b','c']

Queste liste sono uguali ma abbiamo un diverso identificatore:

Codice:

>>> id(a)
13592496
>>> id(b)
13590656


Il diagramma di stack è:
a--->['a','b','c']
b--->['a','b','c']

Alias
Le variabile si riferiscono agli oggetti quindi se abbiamo:
Codice:

>>> a=['a','b','c']
>>> b=a


Gli identificatori sono uguali:
Codice:

>>> id(a)
13591456
>>> id(b)
13591456


Il diagramma di stato è:
a |________ >13591456
b |

Dobbiamo stare molto attenti perchè se modifichiamo a cambierà anche b.
Top
Profilo Invia messaggio privato
mdweb
Dio maturo
Dio maturo


Registrato: 18/12/07 16:59
Messaggi: 4412

MessaggioInviato: 26 Dic 2008 22:10    Oggetto: Parametri di tipo lista Rispondi citando

Se abbiamo questa funzione:
Codice:

def Lista_T(lista):
 return lista[0]

e la chiamiamo cosi:
[/code]

Codice:
>>>Numeri=[1,2,3]
>>>Testa(Numeri)


Il risultato sarà:1

Il diagramma di stato è:
_main_ |Numeri|____________>[1,2,3]
Lista_T |lista|

Se una funzione modificia una lista (ad esempio toglie un elemento viene modificata la lista stessa e non la sua copia.

Quando una funzione ritorna una lista restituiamo una lista nuova.[/code]
Top
Profilo Invia messaggio privato
mdweb
Dio maturo
Dio maturo


Registrato: 18/12/07 16:59
Messaggi: 4412

MessaggioInviato: 26 Dic 2008 22:40    Oggetto: Funzioni e tuple Rispondi

Le funzione posso avere come valore di ritorno anche tuple.Esempio:
Codice:

def Variabili_Intverite(x,y):
 return y,x

Il valore può essere assegnato alle variabili.

E sconsigliato usare le funzione per fare questa operazione meglio usare un semplice:
Codice:

a,b=b,a


Perchè si rischia di scontrarsi con problemi relativi allo scope delle variabili.
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Programmazione Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi