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

[Sugestão] Fatiamento com split()

Ois. Na mesma linha de Aluno (tópico atualizado em 21/12/2022):

url = 'bytebank.com/cambio?moedaDestino=dolar&moedaOrigem=real'
url_base, url_parametros = url.split("?")

destino, origem = url_parametros.split("&")

param_1, moedaOrigem = origem.split("=")
param_2, moedaDestino = destino.split("=")

print(f'Origem: {moedaOrigem}')
print(f'Destino: {moedaDestino}')
3 respostas

Olá, tudo bem? Eu aqui novamente.

Seu código ta funcionando perfeitamente, mas caso queira melhorar ele, é possível sim. Como você não chegou a usar o "param_1 , "param_2" e "url_base", você pode simplificar eles por apenas digitando ao lado da função split() o index [1], assim retornando apenas um dos valores que a função retorna, que serão alocados nas variáveis moedaOrigem, moedaDestino e "url_parametros".

Usando o exemplo da vírgula, seu código fica assim:


url = 'bytebank.com/cambio?moedaDestino=dolar&moedaOrigem=real'
url_parametros = url.split("?")[1]

destino, origem = url_parametros.split("&")

moedaOrigem = origem.split("=")[1]
moedaDestino = destino.split("=")[1]

print(f'Origem: {moedaOrigem}')
print(f'Destino: {moedaDestino}')

Show! Obrigado pela dica!

Nesse caso, não haveria alocação de informação em memória ou simplesmente não haveria referência (nome da variável)? Cheguei a pensar em usar 2 variáveis "descartáveis", para irem coletando as informações não utilizadas na sequência do código...

solução!

Sim, mas nesse caso ela seria temporária. Depois do uso dela o garbage collector remove elas. Você pensou certo kkkkk