Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida no Ex. 1 da Aula 3 - Tuples e dictionary

Olá, como seria maneira de converter uma tupla em lista?

3 respostas

Oi Jorge,

alguma coisa no alura impede que a resposta desse exercício aparece ... já reportei. Copiei a resposta pra vc, espero que ajude:

Recebemos um erro ao concatenar tuples com listas:

>>> estados = ('RJ', 'SP') + ['MG', 'ES'] 
...
TypeError: can only concatenate list (not "tuple") to list

O erro aconteceu pois o Python não converte automaticamente a lista para o tuple (ou vice-versa). Isso é uma característica da tipagem forte do Python. Mesmo se os tipos de dados são parecidos, o Python não vai converter e sim gerar um TypeError.

Se quisermos converter devemos deixar a nossa intenção explicita e converter na mão, por exemplo:

>>> estados = ('RJ', 'SP') + tuple(['MG', 'ES'])
>>> estados
('RJ', 'SP', 'MG', 'ES')
>>> type(estados)
<type 'tuple'>

Isso é um pouco mais trabalhoso, porém evita resultados inesperados por causa da tipagem. A conversão automática pode ser algo perigosa e frágil em programas mais complexos.


abs

Tudo certo Jorge? Não deixe de marcar a resposta do Nico caso ela tenha sido aceita.

solução!

Olá. A dúvida seria com relação a conversão das tuples em list, estava retornando erro, mas eu estava fazendo errado.

Estava fazendo assim:

estados = list[('RJ', 'SP')] + ['MG', 'ES']

Onde o correto seria assim:

estados = list(('RJ', 'SP')) + ['MG', 'ES']

Obrigado pela atenção.