La manipolazione dei dati avviene molto nella programmazione, a seconda del problema che si intende risolvere. Potresti trovarti spesso a convertire una struttura di dati in un'altra. Alcuni tipi sono così simili che la conversione tra di loro è un processo semplice.

In Python, trasformare un dizionario in un elenco annidato o appiattito è una conversione popolare che ti ritroverai a eseguire.

Converti un dizionario Python in un elenco usando un ciclo for

Il per loop ti dà più trazione sui tuoi dati durante la conversione di un dizionario Python in un elenco.

Ad esempio, il codice seguente converte un dizionario in un elenco nidificato:

mioDictionary = {"A": "Python", "B": "JavaScript", "C": "Nodo"}
lista convertita = []

per io in mioDizionario:
convertList.append([i, mioDizionario[i]])

stampa (lista convertita)

# Output: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Nodo']]

Il codice sopra inserisce ogni chiave (io) e valore (mioDizionario[i]) si accoppia in elenchi individuali e li aggiunge a un elenco vuoto.

instagram viewer

È come scrivere:

per chiave, valore in mioDictionary.items():
convertList.append([chiave, valore])

Puoi anche posizionare ogni coppia in un set o in una tupla. Tutto quello che devi fare è sostituire le parentesi quadre ([]) attorno a chiave, valore coppia con parentesi graffe ({}) o parentesi (()) di conseguenza.

Puoi anche ottenere questo risultato usando a per loop insieme a Funzionalità di comprensione dell'elenco di Python:

listaconvertita = [[i, mioDizionario[i]] per io in miodizionario]

Funzione per convertire un dizionario Python in una lista piatta

Mentre quanto sopra per le opzioni di ciclo producono un elenco nidificato, puoi destrutturarlo ulteriormente in un elenco lineare se è quello che vuoi.

La seguente funzione lo fa:

defconvertToStraightList(campioneDict):
flatList = []

per chiave, valore in sampleDict.items():
flatList.extend([chiave, valore])

Restituzione flatList

stampa (convertToStraightList (myDictionary))

# Output: ['A', 'Python', 'B', 'JavaScript', 'C', 'Nodo']

La funzione precedente restituisce un elenco appiattito e il concetto è semplice. Il ciclo aggiunge ciascuno chiave e valore accoppiare a un elenco che la funzione restituisce al termine.

Utilizzo delle funzioni One Liner integrate

Sia il carta geografica e cerniera lampo le funzioni lo consentono soluzioni Python a una riga a questo problema, con risultati diversi. Potrebbero essere più adatti del per loop, a seconda del tuo problema, e sono sicuramente più convenienti.

Il cerniera lampo La funzione produce un elenco annidato di tuple:

convertList = lista (zip (myDictionary.keys(), myDictionary.values()))
stampa (lista convertita)

# Output: [('A', 'Python'), ('B', 'JavaScript'), ('C', 'Nodo')]

Il carta geografica la funzione, d'altra parte, fornisce un elenco di liste:

convertList = lista (mappa (lista, mioDictionary.items()))
stampa (lista convertita)

# Output: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Nodo']]

Converti tra elenchi Python e dizionari in entrambi i casi

Questi diversi modi per convertire un dizionario in un elenco sono piuttosto semplici in Python. Quindi, puoi trasformare un dizionario in un elenco, ma puoi anche fare il contrario convertendo un elenco Python in un dizionario.

Come convertire un elenco in un dizionario in Python

Leggi Avanti

CondividereTwittaCondividereE-mail

Argomenti correlati

  • Programmazione
  • Programmazione
  • Pitone

Circa l'autore

Idowu Omisola (149 articoli pubblicati)

Idowu è appassionato di qualsiasi tecnologia e produttività intelligenti. Nel tempo libero, gioca con la programmazione e passa alla scacchiera quando è annoiato, ma ama anche staccare dalla routine di tanto in tanto. La sua passione per mostrare alle persone la via della tecnologia moderna lo motiva a scrivere di più.

Altro da Idowu Omisola

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti