Transformar uma lista em um dicionário em Python é uma tarefa acessível, com várias abordagens para se concretizar.
Vamos explorar diversas maneiras de efetuar essa conversão.
Introdução
Antes de mergulharmos no tutorial, vamos examinar exemplos práticos de conversão de listas em dicionários. Consideraremos tanto listas de tuplas (onde cada tupla contém dois elementos) quanto listas simples de elementos. Nosso objetivo é converter ambas as estruturas em dicionários.
Exemplos Práticos:
No primeiro exemplo, pegaremos uma lista de tuplas e a transformaremos em um dicionário. O primeiro elemento de cada tupla será utilizado como chave, e o segundo, como valor.
Entrada: list_one = [('a', 'A'), ('b', 'B'), ('c', 'C')]
Saída: {'a': 'A', 'b': 'B', 'c': 'C'}
No segundo exemplo, partiremos de uma lista simples e a converteremos em um dicionário. Elementos alternados da lista se tornarão chaves e valores do dicionário, respectivamente. Caso haja um número ímpar de elementos, o último valor de chave receberá ‘None’ como valor.
Entrada: list_one = ['a', 'A', 'b', 'B', 'c', 'C', 'd']
Saída: {'a': 'A', 'b': 'B', 'c': 'C', 'd': None}
Com os objetivos definidos, vamos explorar diferentes formas de implementar essas conversões. Começaremos com a conversão de listas de tuplas.
Conversão de Lista de Tuplas para Dicionário
Vamos detalhar o processo de transformação de uma lista de tuplas em um dicionário. Siga os passos a seguir para construir o código:
- Inicialize uma lista de tuplas com dados de teste, como nos exemplos (certifique-se de que cada tupla contenha exatamente dois elementos).
- Utilize a função
dict()
, passando a lista de tuplas como argumento. O resultado será armazenado em uma nova variável. - A conversão está completa! Com uma única linha de código, obtivemos o dicionário desejado.
# Lista de tuplas list_of_tuples = [('a', 'A'), ('b', 'B'), ('c', 'C')] # Conversão para dicionário list_of_tuples_dict = dict(list_of_tuples) # Exibição do dicionário resultante print(list_of_tuples_dict)
Ao executar o código acima, você deverá obter o resultado conforme demonstrado nos exemplos.
Conversão de Lista Simples para Dicionário
Agora que compreendemos a conversão de listas de tuplas, vamos abordar a transformação de listas simples em dicionários.
Relembre o segundo exemplo na introdução para maior clareza.
Acompanhe as etapas abaixo para construir o código correspondente:
Para tratar o caso de listas com número ímpar de elementos, utilizaremos o valor padrão None
, empregando a função zip_longest
do módulo itertools
.
- Importe o módulo
itertools
e crie uma lista com um número ímpar de elementos, seguindo os exemplos. - Converta a lista em um iterador para evitar repetição de pares chave-valor ao usar
zip_longest
. - Passe o iterador para
zip_longest
, definindofillvalue
comoNone
. Isso retornará um objeto zip.- É necessário passar o iterador duas vezes, pois ele extrai chaves e valores de dois iteradores. Como os elementos da nossa lista se tornarão tanto chaves quanto valores, passamos o iterador duas vezes.
- Converta o objeto zip para um dicionário Python com a função
dict
. - Imprima o dicionário resultante.
# Importando o módulo necessário import itertools # Lista com número ímpar de elementos plain_list = ['a', 'A', 'b', 'B', 'c', 'C', 'd'] # Convertendo a lista para iterador plain_list_iter = iter(plain_list) # Criando objeto zip_longest com fillvalue plain_list_dict_object = itertools.zip_longest(plain_list_iter, plain_list_iter, fillvalue=None) # Convertendo objeto zip para dicionário plain_list_dict = dict(plain_list_dict_object) # Exibindo o dicionário print(plain_list_dict)
Você pode personalizar o valor de preenchimento. Experimente diferentes opções e verifique se o resultado corresponde ao esperado.
Conclusão
Parabéns! Espero que você tenha aprendido como transformar listas em dicionários com facilidade. Nos encontraremos no próximo tutorial.
A seguir, aprenda como “achatar” listas em Python.
Bons estudos!
Gostou do artigo? Compartilhe com seus amigos!