.
Procesul de sortare a dicționarelorAșa cum putem vedea în prima figură dicționarele în python sunt un set de chei-perechi de valori, unde fiecare pereche de cheie-valoare se numește element. Acum să ne concentrăm asupra problemei principale: Dicționarele pot fi sortate după chei sau după valori. După cum este delimitat în a doua figură, putem sorta keys()
, values()
și items()
dintr-un dicționar. Să ne concentrăm mai întâi pe sortarea după values()
.
Sortarea dicționarului după valoare
Să avem un dicționar format din mai multe organizații bine-cunoscute ca keys()
și anul înființării lor ca values()
. Așadar, dorim să avem un dicționar sortat în care elementele celei mai vechi organizații vor fi primul element, iar cea mai tânără organizație va fi ultima.
d = {"Apple": 1976, "Microsoft":1975, "Facebook":2004, "Sony":1946, "IBM":1911, "Amazon": 1994 }
După cum putem vedea în dicționarul d, IBM este cea mai veche organizație, prin urmare va fi prima cheie a dicționarului sortat, iar Facebook va fi ultima.
print(sorted(d.items(), key = lambda kv:kv))
print(sorted(d.items(), key = lambda kv:kv, reverse = True))
print(dict(sorted(d.items(), key = lambda kv:kv)))
sort_d = dict(sorted(d.items(), key = lambda kv:kv))
print(sort_d)
Succes:
{'IBM': 1911, 'Sony': 1946, 'Microsoft': 1975, 'Apple': 1976, 'Amazon': 1994, 'Facebook': 2004}
{'IBM': 1911, 'Sony': 1946, 'Microsoft': 1975, 'Apple': 1976, 'Amazon': 1994, 'Facebook': 2004}
Din moment ce sortăm d.items()
, care este o listă de tupluri în care keys()
sunt primul parametru și values()
sunt al doilea parametru al fiecărui tuplu. Pentru sortarea listei de tupluri, am ales valorile, adică al doilea parametru al fiecărui tuplu ca cheie. În prima linie, cheia este definită ca o lambda
funcție în care valoarea cheii este al doilea parametru al elementelor. Această sortare va crea o listă de tuple sortate. putem pur și simplu să o transformăm într-un dicționar folosind funcția dict()
, așa cum se arată în a treia linie de cod. Putem, de asemenea, să inversăm sortarea care, în rezultat, creează o listă de tupluri în care cel mai nou este primul, iar cel mai vechi va fi ultimul element, așa cum este indicat în a doua linie de cod. Putem, de asemenea, să salvăm dicționarul sortat sub un alt nume, așa cum se arată mai sus.
Sortarea dicționarului după cheie
print(sorted(d.items()))
print(dict(sorted(d.items())))
print(dict(sorted(d.items(), key = lambda kv:kv)))
print(sorted(d.items(), reverse = True))
Ieșire:
{'Amazon': 1994, 'Apple': 1976, 'Facebook': 2004, 'IBM': 1911, 'Microsoft': 1975, 'Sony': 1946}
{'Amazon': 1994, 'Apple': 1976, 'Facebook': 2004, 'IBM': 1911, 'Microsoft': 1975, 'Sony': 1946}
Cum știm că keys()
aici în dicționarul d sunt șiruri de caractere, atunci sortarea după cheie va crea o listă de tuple în ordine alfabetică în keys()
fiecărui element și folosind funcția dict()
se formează dicționarul. putem folosi și funcția lambda
pentru a defini cheia care este aproape inutilă, am arătat doar pentru a face o comparație în definirea cheii în sortare.
Acesta este. Vă rugăm să vizitați profilul meu pentru a obține mai multe povești despre învățarea mașinilor și analiza datelor. Orice fel de sugestii și critici sunt foarte apreciate. Iată poveștile mele anterioare bazate pe un curs de absolvire oferit de Universitatea Inha, Rep. Coreea:
Părți anterioare:
Partea-1: Python de bază și instalare
Partea-2: Capitolul-2: Structura datelor Python – Tip de date
Partea-3: Declarații de control (bucle) în Python
Partea:4: Structura datelor Python – Tip de date
Partea-3: Declarații de control (bucle) în Python
Partea:4: Structura datelor Python – Tip de date: Funcții Python & Module
Partea:5: Programare orientată pe obiecte în Python – Schafer & DataCamp.
Partea 6: Tipurile & procedurii de învățare automată
Partea 7: Inginerie de caracteristici pentru învățare automată
.