Manipularea datelor se întâmplă foarte mult în programare, în funcție de problema pe care intenționați să o rezolvați. S-ar putea să vă treziți adesea conversia unei structuri de date în alta. Unele tipuri sunt atât de asemănătoare încât conversia între ele este un proces simplu.
În Python, transformarea unui dicționar într-o listă imbricată sau aplatizată este o conversie populară pe care o vei realiza.
Convertiți un dicționar Python într-o listă folosind o buclă for
The pentru bucla vă oferă mai multă tracțiune asupra datelor dvs. în timp ce convertiți un dicționar Python într-o listă.
De exemplu, următorul cod convertește un dicționar într-o listă imbricată:
myDictionary = {"A": "Python", "B": "JavaScript", "C": "Node"}
convertedList = []pentru i în dictionarul meu:
convertedList.append([i, myDictionary[i]])imprimare (listă convertită)
# Ieșire: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Node']]
Codul de mai sus introduce fiecare cheie (i) și valoarea (dicționarul meu[i]) se asociază în liste individuale și le adaugă într-o listă goală.
Este la fel cu a scrie:
pentru valoare cheie în myDictionary.items():
convertedList.append([cheie, valoare])
Puteți plasa fiecare pereche într-un set sau un tuplu. Tot ce trebuie să faceți este să înlocuiți bretele pătrate ([]) in jurul valoare cheie pereche cu bretele ({}) sau paranteză (()) în consecință.
Puteți realiza acest lucru și folosind a pentru buclă împreună cu Funcția Python de înțelegere a listei:
convertedList = [[i, myDictionary[i]] pentru i în dicționarul meu]
Funcție de conversie a unui dicționar Python într-o listă plată
În timp ce cele de mai sus pentru Opțiunile buclei produc o listă imbricată, o puteți desstructura mai departe într-o listă dreaptă dacă asta doriți.
Următoarea funcție o face:
defconvertToStraightList(sampleDict):
flatList = []pentru valoare cheie în sampleDict.items():
flatList.extend([cheie, valoare])întoarcere flatList
imprimare (convertToStraightList (myDictionary))
# Ieșire: ['A', 'Python', 'B', 'JavaScript', 'C', 'Node']
Funcția de mai sus returnează o listă aplatizată, iar conceptul este simplu. Bucla anexează fiecare cheie și valoare asociere cu o listă pe care funcția o returnează când este terminată.
Utilizarea funcțiilor încorporate cu o singură linie
Amandoua Hartă și fermoar funcţiile permit soluții Python cu o singură linie la această problemă, cu rezultate diferite. Ele pot fi mai potrivite decât pentru buclă, în funcție de problema dvs. și cu siguranță sunt mai convenabile.
The fermoar funcția produce o listă imbricată de tupluri:
convertedList = listă (zip (myDictionary.keys(), myDictionary.values()))
imprimare (listă convertită)
# Ieșire: [('A', 'Python'), ('B', 'JavaScript'), ('C', 'Nod')]
The Hartă funcția, pe de altă parte, oferă o listă de liste:
convertedList = listă (hartă (lista, myDictionary.items()))
imprimare (listă convertită)
# Ieșire: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Node']]
Convertiți între listele și dicționarele Python în orice fel
Aceste moduri diferite de a converti un dicționar într-o listă sunt destul de simple în Python. Deci, puteți răsuci un dicționar într-o listă, dar puteți face și invers, transformând o listă Python într-un dicționar.
Cum se transformă o listă într-un dicționar în Python
Citiți în continuare
Subiecte asemănătoare
- Programare
- Programare
- Piton
Despre autor
Idowu este pasionat de orice tehnologie inteligentă și productivitate. În timpul liber, se joacă cu codificarea și trece la tabla de șah când se plictisește, dar îi place și să se desprindă de rutină din când în când. Pasiunea lui pentru a le arăta oamenilor calea în jurul tehnologiei moderne îl motivează să scrie mai mult.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Click aici pentru a te abona