Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

dict(list(str, str)) não funciona como esperado

In [1]: list(zip('Sammy', 'Angiii'))
Out[1]: [('S', 'A'), ('a', 'n'), ('m', 'g'), ('m', 'i'), ('y', 'i')]

In [2]: dict(_)  # Aqui eu uso a variável underline pra me referir ao último valor retornado
Out[2]: {'S': 'A', 'a': 'n', 'm': 'i', 'y': 'i'}

In [3]: dict(zip('Sammy', 'Angiii'))
Out[3]: {'S': 'A', 'a': 'n', 'm': 'i', 'y': 'i'}

Um "m" e o "g" ficam de fora do dicionário por alguma razão que eu desconheço. Qualquer ajuda é bem vinda.

1 resposta
solução!

Fala shinigamiexmachina, como vai?

Observe que um dict é composto por pares de chave e valor, sendo que as chaves desse dict devem ser únicas, não podendo se repetir. Veja que na palavra "Sammy" há dois caracteres "m" repetidos, logo, o resultado deveria conter: Ex:

{"m":"g", "m":"i"}

Sendo um dict com duas chaves iguais inválido, a próxima chave de mesmo nome a entrar sobrescreve o valor anteriormente atribuído, ficando apenas:

{"m":"i"}

Você pode verificar esse comportamento na prática com o código abaixo:

lista_de_compras = ['abacaxi', 'maça']
categorias = {}               
for item in lista_de_compras:
    categoria['frutas'] = item
print(categorias)

Você verá o seguinte resultado: {'frutas': 'maça'}

Espero ter ajudado, bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software