Python Converta Lista para Dicionário: Um Guia Completo

Out 17, 2021
admin

Você pode converter uma lista Python para um dicionário usando um dicionário de compreensão, dict.fromkeys(), ou o método zip(). Todos os três métodos criam um novo dicionário. Eles não modificam a lista existente.

Listas e dicionários Python são duas estruturas usadas para armazenar dados. Mas e se você quiser converter uma lista em um dicionário? Você pode querer fazer isso se quiser atribuir uma etiqueta única para cada valor que você armazenou. Isso só é possível em um dicionário.

Existem algumas técnicas e funções embutidas que você pode usar em Python para converter uma lista em um dicionário. Este tutorial de programação irá discutir, com referência a exemplos, como converter uma lista em um dicionário em Python.

Listas e Dicionários Python

Listas e dicionários são exemplos de coleções Python. Eles permitem que você armazene vários valores similares juntos em uma estrutura de dados.

>

form-submissão>
Find Your Bootcamp Match
>

    >

  • Carma de Carreira combina você com bootcamps top tech
  • >

  • Obter bolsas de estudo exclusivas e cursos de preparação
  • >

>

>

>

>

>

>

>

>>

A estrutura de dados da lista permite que você armazene dados em uma ordem específica. Aqui está um exemplo de uma lista Python:

takeout_prices = 

A nossa lista chamada takeout_prices contém quatro valores.

Dicionários, por outro lado, são desordenados, e não podem armazenar múltiplos valores duplicados.

Aqui está um exemplo de um dicionário Python:

takeout_prices = {'single_chips': 2.50,'large_chips': 2.75,'single_fish': 4.50,'large_fish': 5.00}

Dicionários são úteis se você quiser associar etiquetas a cada valor. Listas são melhores se você estiver armazenando dados similares, como uma lista de preços ou nomes, onde você não pode rotular cada valor.

Python Convert List to Dictionary:

Você pode converter uma lista Python para um dicionário usando o método dict.fromkeys(), uma compreensão de dicionário, ou o método zip(). O método zip() é útil se você quiser fundir duas listas em um dicionário.

Vamos rapidamente resumir estes métodos:

  • dict.fromkeys(): Usado para criar um dicionário a partir de uma lista. Opcionalmente você pode definir um valor padrão para todas as chaves. Você não pode definir valores individuais para cada item no dicionário.
  • Compreensão do dicionário: Cria um novo dicionário a partir de uma lista existente. Você pode especificar valores diferentes para cada chave no dicionário. As compreensões do dicionário são semelhantes às compreensões da lista Python na estrutura.
  • zip(): Converte duas ou mais listas em uma lista de tuplos. Você pode usar o método dict() para converter a lista de tuples em um dicionário.

Vamos usar cada um dos três métodos acima para demonstrar como podemos converter uma lista em um dicionário.

Python Convert List to Dictionary: dict.fromkeys()

Dizer que temos uma lista de frutas que queremos transformar em um dicionário. O valor atribuído a cada fruta deve ser Em stock:

fruits = 

Podemos criar este dicionário usando o método dict.fromkeys(). Este método aceita uma lista de chaves que você quer transformar em um dicionário. Opcionalmente, você pode especificar um valor que você quer atribuir a cada chave.

Você só pode especificar um valor a ser atribuído a cada chave. Não pode dizer que uma chave deve ter um valor e outra chave deve ter um valor diferente.

Vamos transformar a nossa lista de frutas num dicionário:

fruits = fruit_dictionary = dict.fromkeys(fruits, "In stock")print(fruit_dictionary)

O nosso código devolve os objectos desta lista num objecto de dicionário:

{'Apple': 'In stock', 'Pear': 'In stock', 'Peach': 'In stock', 'Banana': 'In stock'}

Declaramos primeiro uma variável Python chamada frutas que armazena os nomes das chaves que queremos utilizar no nosso dicionário.

Usamos dict.fromkeys() para criar um dicionário que usa os nomes das chaves que armazenamos no array de frutas. Este método atribui o valor de cada chave para estar em estoque. Finalmente, imprimimos o novo dicionário para o console.

Se não especificássemos o valor In stock no nosso código, o valor padrão para as chaves no nosso dicionário seria None.

Convert List to Dictionary Python: Compreensão de Dicionário

Também podemos usar uma técnica chamada compreensão de dicionário para converter uma lista Python para um dicionário usando os mesmos valores.

A compreensão de dicionário é similar a uma compreensão de lista na medida em que ambos os métodos criam um novo valor dos seus respectivos tipos de dados. As compreensões de dicionário usam parênteses pontiagudos ({}) enquanto as compreensões de lista usam parênteses rectos ().

Vamos converter nossa lista de frutas em um dicionário usando a compreensão de dicionário:

fruits = fruit_dictionary = { fruit : "In stock" for fruit in fruits }print(fruit_dictionary)

Nossos retornos de código:

{'Apple': 'In stock', 'Pear': 'In stock', 'Peach': 'In stock', 'Banana': 'In stock'}

Primeiro, declaramos uma lista chamada frutas que armazenou os nomes que queríamos mover para um dicionário.

Então, usamos a compreensão de dicionário para correr através de cada item da lista de frutas. Nós adicionamos um item ao nosso novo dicionário para cada fruta da nossa lista. O valor que atribuímos a cada fruta estava em estoque. Finalmente, imprimimos nosso novo dicionário para o console.

Python Convert List to Dictionary: zip()

No nosso último exemplo, convertemos uma única lista em um dicionário e atribuímos um valor padrão para cada item do dicionário. Entretanto, é possível converter duas listas em um dicionário.

Para fazer isso, podemos usar a função Python zip(). Esta função permite-nos fundir duas listas. Podemos usar uma lista como chaves para o dicionário e a outra como os valores.

Suponha que temos duas listas: uma contendo uma lista de frutas, e a outra contendo o preço para uma peça individual de fruta. Queremos criar um único dicionário que armazene o nome de uma fruta, juntamente com o seu preço. Podemos usar o seguinte código para realizar esta tarefa:

fruits = prices = fruit_dictionary = dict(zip(fruits, prices))print(fruit_dictionary)

Nosso código retorna:

{'Apple': 0.35, 'Pear': 0.4, 'Peach': 0.4, 'Banana': 0.28}

Primeiro, especificamos duas listas: uma lista de frutas, e uma lista de preços. Depois, usamos a função zip() para fundir as nossas duas listas. A função zip() retorna uma lista de tuplos fundidos. Como queremos um dicionário, usamos dict() para converter nossos tuplos em um dicionário.

Next, imprimimos o conteúdo do nosso novo dicionário para o console.

Conclusion

Para converter uma lista para um dicionário usando os mesmos valores, você pode usar o método dict.fromkeys(). Para converter duas listas em um dicionário, você pode usar a função zip() do Python. A compreensão do dicionário permite que você crie um novo dicionário baseado nos valores de uma lista.

Neste tutorial, usamos exemplos para demonstrar como usar três abordagens para converter uma lista para um dicionário em Python. Agora você está pronto para começar a converter listas em Python para dicionários como um programador profissional!

Deixe uma resposta

O seu endereço de email não será publicado.