Converter um dicionário em uma lista em Python

  1. Converter chaves do dicionário em lista usando o método keys() em Python
  2. Converter valores de dicionário em lista usando o método values() em Python
  3. Converter dicionário em uma lista de tuplas em Python

Um dicionário em Python é uma combinação de pares chave-valor. Com a ajuda da chave, você pode acessar os valores dentro do dicionário. Agora, converter um dicionário em uma lista em Python pode significar coisas diferentes. Ou,

  1. Você pode separar as chaves e convertê-las em uma lista
  2. Você pode separar os valores e convertê-los em uma lista
  3. Converta o par de chave e valor do dicionário em uma lista de tupla.

Converter chaves do dicionário em lista usando o método keys() em Python

Suponha que você tenha um dicionário denominado dicionário com quatro pares de valor-chave.

dictionary = {'a': 'Apple', 'b': 'Banana', 'c': 'Cherries', 'd': 'Dragon Fruit'}

listOfKeys = dictionary.keys()
print("Type of variable listOfKeys is: ", type(listOfKeys))

listOfKeys = list(listOfKeys)

print("Printing the entire list containing all Keys: ")
print(listOfKeys)

print("Printing individual Keys stored in the list:")

for key in listOfKeys:
    print(key)

Resultado:

Type of variable listOfKeys is:  <class 'dict_keys'>

Printing the entire list containing all Keys: 
['a', 'b', 'c', 'd']

Printing individual Keys stored in the list:
a
b
c
d

Você pode usar o método keys(), que irá extrair todas as keys do dicionário e então armazenar o resultado (todas as chaves) dentro da variável listOfKeys.

Agora você deve converter a variável listOfKeys em uma lista com a ajuda da função list() porque neste ponto se você verificar o tipo da variável listOfKeys então será <class 'dict_keys'>. É por isso que alteramos o tipo da variável para List e, em seguida, armazenamos na mesma variável, ou seja, listOfKeys.

Neste ponto, você separou com sucesso todas as chaves do dicionário usando a função keys() e as converteu em uma lista. Finalmente, para imprimir os elementos dentro da lista, você deve usar um loop for, que itera sobre cada elemento e o imprime.

Converter valores de dicionário em lista usando o método values() em Python

O método values() funciona da mesma maneira que o método keys(). A única diferença é que o método values() retorna todos os valores do dicionário em vez das chaves.

dictionary = {'a': 'Apple', 'b': 'Banana', 'c': 'Cherries', 'd': 'Dragon Fruit'}

listOfValues = dictionary.values()
print("Type of variable listOfValues is: ", type(listOfValues))

listOfValues = list(listOfValues)

print("Printing the entire list containing all values: ")
print(listOfValues)

print("Printing individual values stored in the list:")

for val in listOfValues:
    print(val)

Resultado:

Type of variable listOfValues is:  <class 'dict_values'>

Printing the entire list containing all values: 
['Apple', 'Banana', 'Cherries', 'Dragon Fruit']

Printing individual values stored in the list:
Apple
Banana
Cherries
Dragon Fruit

Você usa a função values() no dicionário e, em seguida, armazena o resultado retornado pela função values() dentro da variável listOfValues.

Se você verificar o tipo da variável listOfValues, seu tipo será da classe <class 'dict_values'>. Mas você quer que seja da classe <class 'list'>. Portanto, você deve converter a variável listOfValues em uma lista usando a função list() e, em seguida, armazenar o resultado na mesma variável, ou seja, listOfValues.

Por fim, imprima todos os valores dentro da lista listOfValues usando um loop.

Converter dicionário em uma lista de tuplas em Python

Um dicionário pode ser convertido em uma lista de tuplas de duas maneiras. Uma é a função items() e a outra é a função zip().

1. Função items()

A função items() converte os elementos do dicionário em <class 'dict_items'> e o resultado disso é armazenado na variável myList. A myList precisa ser convertida em uma lista, então para isso, você deve fazer um typecast usando a função list() e então armazenar o resultado na mesma variável, ou seja, myList.

dictionary = {'a': 'Apple', 'b': 'Banana', 'c': 'Cherries', 'd': 'Dragon Fruit'}

myList = dictionary.items()
print(type(myList))

myList = list(myList)

print(myList) 

Resultado:

<class 'dict_items'>
[('a', 'Apple'), ('b', 'Banana'), ('c', 'Cherries'), ('d', 'Dragon Fruit')]

2. Função zip()

A função zip() leva dois argumentos primeiro é a chave usando a função keys() e o segundo é o valor usando a função values() do dicionário. Em seguida, ele retorna um objeto zip que você pode armazenar dentro de uma variável, neste caso, myList.

dictionary = {'a': 'Apple', 'b': 'Banana', 'c': 'Cherries', 'd': 'Dragon Fruit'}

myList = zip(dictionary.keys(), dictionary.values()) 
print(type(myList))

myList = list(myList)

print(myList) 

Resultado:

<class 'zip'>
[('a', 'Apple'), ('b', 'Banana'), ('c', 'Cherries'), ('d', 'Dragon Fruit')]

Agora você deve converter o objeto zip em uma list usando a função list(). Então você pode armazenar o resultado final dentro da mesma variável chamada myList ou dentro de uma variável diferente dependendo de sua necessidade e no final imprimir a lista inteira.

3. iteritems() em Python 2.x

No Python v2.x, você também tem uma função iteritems(), que funciona quase da mesma maneira que a função items().

O iteritems() pega cada elemento do dicionário e converte-o em um tipo diferente. Se você verificar o tipo da variável myList, será do tipo <type 'dictionary-itemiterator'>. Portanto, você deve convertê-lo em uma lista usando a função list(). Se você verificar o tipo da variável myList, então ela será do tipo <type 'list'> e se você imprimir, os elementos estarão na forma de uma lista de tuplas.

dictionary = {'a': 'Apple', 'b': 'Banana', 'c': 'Cherries', 'd': 'Dragon Fruit'}

myList = dictionary.iteritems()
print("Type of myList is: ",type(myList))

myList = list(myList)
print(myList)

Resultado:

('Type of myList is: ', <type 'dictionary-itemiterator'>)

[('a', 'Apple'), ('c', 'Cherries'), ('b', 'Banana'), ('d', 'Dragon Fruit')]

Certifique-se de executar o código acima no compilador Python v2.x; caso contrário, você obterá um erro porque não temos esse método no Python v3.x.

Artigo relacionado - Python Dictionary

  • Salvar um dicionário em um arquivo em Python
  • Como Remover um Elemento de um Dicionário Python
  • Artigo relacionado - Python List

  • Converter Duas Listas em Dicionário em Python
  • Como excluir um arquivo e diretório em Python