A manipulação de dados acontece muito na programação, dependendo do problema que você pretende resolver. Muitas vezes você pode se encontrar convertendo uma estrutura de dados em outra. Alguns tipos são tão semelhantes que a conversão entre eles é um processo simples.
Em Python, transformar um dicionário em uma lista aninhada ou achatada é uma conversão popular que você irá realizar.
Converter um dicionário Python em uma lista usando um loop for
o por loop oferece mais tração em seus dados enquanto converte um dicionário Python em uma lista.
Por exemplo, o código a seguir converte um dicionário em uma lista aninhada:
myDictionary = {"A": "Python", "B": "JavaScript", "C": "Nó"}
lista convertida = []por eu dentro meu dicionário:
convertList.append([i, meuDicionário[i]])imprimir (convertidoLista)
# Saída: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Node']]
O código acima insere cada chave (eu) e valor (meuDicionário[i]) pare em listas individuais e as anexa em uma lista vazia.
É o mesmo que escrever:
por valor chave dentro meuDicionário.items():
convertList.append([chave, valor])
Você pode colocar cada par em um conjunto ou tupla também. Tudo que você precisa fazer é substituir os colchetes ([]) em volta do valor chave par com chaves ({}) ou parênteses (()) adequadamente.
Você também pode conseguir isso usando um por loop junto com Recurso de compreensão de lista do Python:
listaconvertida = [[i, meuDicionário[i]] por eu dentro meu dicionário]
Função para converter um dicionário Python em uma lista simples
Enquanto o acima por as opções de loop produzem uma lista aninhada, você pode desestruturar ainda mais em uma lista direta, se for isso que você deseja.
A seguinte função faz isso:
defconvertToStraightList(amostra Dict):
flatList = []por valor chave dentro sampleDict.items():
flatList.extend([chave, valor])Retorna flatList
print (convertToStraightList (myDictionary))
# Saída: ['A', 'Python', 'B', 'JavaScript', 'C', 'Node']
A função acima retorna uma lista achatada e o conceito é simples. O loop anexa cada chave e valor par a uma lista que a função retorna quando termina.
Usando funções integradas de uma linha
Tanto o mapa e fecho eclair funções permitem soluções Python de uma linha para este problema, com resultados diferentes. Eles podem ser mais adequados do que os por loop, dependendo do seu problema, e eles certamente são mais convenientes.
o fecho eclair A função produz uma lista aninhada de tuplas:
convertList = list (zip (myDictionary.keys(), myDictionary.values()))
imprimir (convertidoLista)
# Saída: [('A', 'Python'), ('B', 'JavaScript'), ('C', 'Node')]
o mapa A função, por outro lado, fornece uma lista de listas:
convertidoLista = lista (mapa (lista, meuDicionário.items()))
imprimir (convertidoLista)
# Saída: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Node']]
Converter entre listas e dicionários do Python de qualquer maneira
Essas diferentes maneiras de converter um dicionário em uma lista são bem simples em Python. Assim, você pode transformar um dicionário em uma lista, mas também pode fazer o oposto convertendo uma lista Python em um dicionário.
Como converter uma lista em um dicionário em Python
Leia a seguir
Tópicos relacionados
- Programação
- Programação
- Pitão
Sobre o autor
Idowu é apaixonado por qualquer tecnologia inteligente e produtividade. Em seu tempo livre, ele brinca com a codificação e muda para o tabuleiro de xadrez quando está entediado, mas também adora fugir da rotina de vez em quando. Sua paixão por mostrar às pessoas o caminho da tecnologia moderna o motiva a escrever mais.
Assine a nossa newsletter
Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!
Clique aqui para assinar