Cuando quieras convertir listas (arrays) y tuplas entre sí en Python, utiliza list() y tuple().
Si se dan como argumentos objetos iterables como tipos de conjuntos, así como listas y tuplas, se devuelven nuevos objetos de tipo lista y tupla.
- class list([iterable]) — Built-in Functions — Python 3.10.2 Documentation
- class tuple([iterable]) — Built-in Functions — Python 3.10.2 Documentation
Las siguientes variables de tipo lista, tupla y rango son ejemplos.
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 función range() devuelve un objeto de tipo range desde Python 3.
Tenga en cuenta que, aunque el término «conversión» se utiliza por conveniencia, el nuevo objeto se crea realmente, y el objeto original permanece intacto.
Generar lista: list()
Cuando se especifica un objeto iterable, como una tupla, como argumento de list(), se genera una lista con ese 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'>
Generar tuplas: tuple()
Cuando se especifica un objeto iterable, como una lista, como argumento de tuple(), se genera una tupla con ese 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'>
Añadir o modificar elementos de las tuplas
Las tuplas son inmutables (no actualizables), por lo que los elementos no pueden ser cambiados o borrados. Sin embargo, una tupla con elementos cambiados o borrados puede obtenerse utilizando list() para hacer una lista, cambiando o borrando elementos, y luego utilizando de nuevo tuple().