Download in corso

Softwareone.it

Tupla una lista immutabile in Python

Una tupla è una lista immutabile che non può essere modificata in alcun modo dopo che è stata creata.

>>> a = ('a','b','c','d')
>>> a
('a', 'b', 'c', 'd')
>>> a[:]
('a', 'b', 'c', 'd')
>>> a[-1]
'd'
>>> a[0]
'a'

Si definisce nello stesso modo di una lista, a parte il fatto che l’intero insieme di elementi è racchiuso tra parentesi tonde anziché parentesi quadre.

Gli elementi hanno un ordine definito, esattamente come in una lista. Gli indici di una tuple partono da zero, esattamente come in una lista, quindi il primo elemento di una tuple non vuota è sempre a[0].

Gli indici negativi partono dalla fine, esattamente come in una lista.

Anche l’affettatura funziona esattamente come per una lista. Quando affettate una lista, ottenete una nuova lista; quando affettate una tupla, ottenete una nuova tuple.

La differenza principale tra tuple e liste è che le tuple non possono essere modificate.

In termini tecnici, le tuple sono immutabili.

In termini pratici, non sono dotate di alcun metodo che vi permetterebbe di
modificarle. Le liste hanno metodi come append(), extend(), insert(), remove() e pop().

Le tuple sono prive di tutti questi metodi. Potete affettare (perché questa operazione crea una nuova tupla) e potete controllare se contiene un particolare valore (perché questa operazione non modifica la tupla).

>>> a.append('cccc')
Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    a.append('cccc')
AttributeError: 'tuple' object has no attribute 'append'
>>> 

Non potete aggiungere elementi. Le tuple non hanno alcun metodo append() o extend().

Non potete rimuovere elementi. Le tuple non hanno alcun metodo remove() o pop().

Potete cercare elementi, dato che questa operazione non modifica la tupla.

Potete anche usare l’operatore in per controllare se un elemento è presente nella tupla.

>>> 
>>> 'c' in a
True
>>> a
('a', 'b', 'c', 'd')
>>> 

A cosa servono le tuple?

Le tuple sono più veloci delle liste. Se state definendo un insieme di valori costante e tutto quello per cui lo userete è iterare attraverso i suoi elementi, usate una tupla invece di una lista.

Alcune tuple possono essere usate come chiavi di un dizionario nello specifico, tuple che contengono valori immutabili come stringhe, numeri e altre tuple.

Le liste non possono mai essere usate come chiavi di un dizionario, perché le liste non sono immutabili.

Le tuple possono essere convertite in liste e viceversa. La funzione predefinita tuple() accetta una lista e restituisce una tupla con gli stessi elementi; la funzione list() accetta una tupla e restituisce una lista. In effetti, tuple() congela una lista e list() scongela una tupla.

Creare e Gestire Liste In Python

https://www.python.it/doc/Howtothink/Howtothink-html-it/chap09.htm

20-10-2019

Lascia un commento

Pubblicità