Cando quere converter listas (matrices) e tuplas entre si en Python, use list() e tuple().
Se se dan como argumentos obxectos iterables, como tipos de conxunto, así como listas e tuplas, devólvense novos obxectos de tipos 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
As seguintes variables de tipo de lista, tupla e intervalo son exemplos.
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'>
Range() devolve un obxecto de tipo rango desde Python 3.
Teña en conta que aínda que o termo “conversión” se usa por conveniencia, o novo obxecto é realmente creado e o obxecto orixinal permanece intacto.
Xerar lista:list()
Cando se especifica un obxecto iterable como unha tupla como argumento para list(), xérase unha 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'>
Xerar tuplas:tuple()
Cando se especifica un obxecto iterable como unha lista como argumento para tuple(), xérase unha 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'>
Engadir ou cambiar elementos de tuplas
As tuplas son inmutables (non se poden actualizar), polo que os elementos non se poden cambiar nin eliminar. Non obstante, pódese obter unha tupla con elementos modificados ou eliminados usando list() para facer unha lista, cambiando ou eliminando elementos e, a continuación, empregando de novo tuple().