Conversão de listas e tupples em Python: lista(), tuple()

O negócio

Quando quiser converter listas (matrizes) e tuple() entre si em Python, use lista() e tuple().

Se forem dados como argumentos objectos iteráveis, tais como tipos definidos, bem como listas e tuplos, são devolvidos novos objectos de tipos lista e tuple.

A seguinte lista, tuple, e variáveis de tipo de intervalo são 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'>

O intervalo() devolve um objecto do tipo intervalo desde Python 3.

Note-se que embora o termo “conversão” seja utilizado por conveniência, o novo objecto é realmente criado, e o objecto original permanece intacto.

Gerar lista: list()

Quando um objecto iterável como um tuple é especificado como o argumento para listar(), é gerada uma lista com esse 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'>

Gerar tuplos: tuple()

Quando um objecto iterável como uma lista é especificado como o argumento para tuple(), é gerado um tuple com esse 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'>

Adicionar ou alterar elementos de tuplos

Os tuplos são imutáveis (não actualizáveis), pelo que os elementos não podem ser alterados ou eliminados. No entanto, um tuple com elementos alterados ou eliminados pode ser obtido utilizando lista() para fazer uma lista, alterando ou eliminando elementos, e depois utilizando novamente o tuple().