Olá, como seria maneira de converter uma tupla em lista?
Olá, como seria maneira de converter uma tupla em lista?
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.
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.