Quando volete convertire liste (array) e tuple tra loro in Python, usate list() e tuple().
Se vengono dati come argomenti oggetti iterabili come tipi di set, così come liste e tuple, vengono restituiti nuovi oggetti di tipo lista e tupla.
- class list([iterable]) — Built-in Functions — Python 3.10.2 Documentation
- class tuple([iterable]) — Built-in Functions — Python 3.10.2 Documentation
Le seguenti variabili di tipo elenco, tupla e intervallo sono esempi.
l = [0, 1, 2]
print(l)
print(type(l))
# [0, 1, 2]
# <class 'list'>
t = ('one', 'two', 'three')
print(t)
print(type(t))
# ('one', 'two', 'three')
# <class 'tuple'>
r = range(10)
print(r)
print(type(r))
# range(0, 10)
# <class 'range'>
La funzione range() restituisce un oggetto di tipo range da Python 3.
Notate che anche se il termine “conversione” è usato per comodità, il nuovo oggetto è effettivamente creato, e l'oggetto originale rimane intatto.
Genera elenco: list()
Quando un oggetto iterabile come una tupla viene specificato come argomento di list(), viene generata una lista con quell'elemento.
tl = list(t)
print(tl)
print(type(tl))
# ['one', 'two', 'three']
# <class 'list'>
rl = list(r)
print(rl)
print(type(rl))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# <class 'list'>
Generare tuple: tuple()
Quando un oggetto iterabile come una lista viene specificato come argomento di tuple(), viene generata una tupla con quell'elemento.
lt = tuple(l)
print(lt)
print(type(lt))
# (0, 1, 2)
# <class 'tuple'>
rt = tuple(r)
print(rt)
print(type(rt))
# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
# <class 'tuple'>
Aggiungere o cambiare elementi di tuple
Le tuple sono immutabili (non aggiornabili), quindi gli elementi non possono essere cambiati o cancellati. Tuttavia, una tupla con elementi cambiati o cancellati può essere ottenuta usando list() per fare una lista, cambiando o cancellando elementi, e poi usando nuovamente tuple().