De Lista para Dicionário em Python: Métodos Simples e Eficazes

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, definindo fillvalue como None. 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!