A szótárak rendezésének folyamataAmint az első ábrán láthatjuk, a szótárak pythonban a kulcsok halmaza.értékpárokból áll, ahol minden egyes kulcs-érték párt elemnek nevezünk. Most koncentráljunk a fő kérdésre: A szótárakat lehet kulcsok vagy értékek szerint rendezni. Ahogy a második ábrán kirajzolódik, egy szótár keys()
, values()
és items()
értékeit rendezhetjük. Koncentráljunk először a values()
szerinti rendezésre.
szótár rendezése értékek szerint
Legyen egy szótárunk, amely több neves szervezetet tartalmaz, mint keys()
és az alapításuk évét, mint values()
. Tehát egy olyan rendezett szótárat szeretnénk, ahol a legrégebbi szervezet elemei lesznek az első elemek, a legfiatalabb szervezet pedig az utolsó.
d = {"Apple": 1976, "Microsoft":1975, "Facebook":2004, "Sony":1946, "IBM":1911, "Amazon": 1994 }
Amint a d szótárban láthatjuk, az IBM a legrégebbi szervezet, ezért ez lesz a rendezett szótár első kulcsa, a Facebook pedig az utolsó.
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)
Kimenet:
{'IBM': 1911, 'Sony': 1946, 'Microsoft': 1975, 'Apple': 1976, 'Amazon': 1994, 'Facebook': 2004}
{'IBM': 1911, 'Sony': 1946, 'Microsoft': 1975, 'Apple': 1976, 'Amazon': 1994, 'Facebook': 2004}
Mivel rendezni fogjuk d.items()
, ami egy tuple listája, ahol keys()
az első paraméter és values()
a második paramétere minden egyes tuple-nek. A tuplik listájának rendezéséhez az értékeket, azaz az egyes tuplik második paraméterét választottuk kulcsként. Az első sorban a kulcsot egy lambda
függvényként definiáljuk, ahol a kulcs értéke a tételek második paramétere. Ez a rendezés a rendezett tupelek listáját fogja létrehozni. egyszerűen szótárrá alakíthatjuk a dict()
függvény használatával, ahogy a harmadik kódsorban látható. Megfordíthatjuk a rendezést is, amelynek eredményeképpen egy olyan tuple-listát hozunk létre, amelyben a legfrissebb az első, a legrégebbi pedig az utolsó elem lesz, ahogyan azt a kód második sora mutatja. A rendezett szótárat más névre is elmenthetjük a fentiek szerint.
sorting dictionary by key
print(sorted(d.items()))
print(dict(sorted(d.items())))
print(dict(sorted(d.items(), key = lambda kv:kv)))
print(sorted(d.items(), reverse = True))
Output:
{'Amazon': 1994, 'Apple': 1976, 'Facebook': 2004, 'IBM': 1911, 'Microsoft': 1975, 'Sony': 1946}
{'Amazon': 1994, 'Apple': 1976, 'Facebook': 2004, 'IBM': 1911, 'Microsoft': 1975, 'Sony': 1946}
Amint tudjuk, hogy a keys()
itt a d szótárban d stringek, akkor a kulcs szerinti rendezés létrehoz egy listát az egyes elemek keys()
betűrendjében lévő tuplikról, és a dict()
függvény segítségével kialakul a szótár. használhatjuk a lambda
függvényt is a kulcs definiálására, ami szinte felesleges, csak azért mutattam meg, hogy a rendezésnél a kulcs definiálásánál összehasonlítást végezzünk.
Ez az. Kérjük, látogasson el a profilomra, hogy több történetet kapjon a gépi tanulásról és az adatelemzésről. Bármilyen javaslatot és kritikát nagyra értékelünk. Itt vannak a korábbi történeteim, amelyek az Inha University, Rep of Korea által kínált Graduate kurzuson alapulnak:
Régebbi történetek:
Part-1: Basic python és telepítés
Part-2: Chapter-2: Python Data Structure – Data Type
Part-3: Control Statements (Loops) in Python
Part:4: Python függvények & Modulok
Part:5: Objektumorientált programozás Pythonban – Schafer & DataCamp.
Part-6: A gépi tanulás típusai & eljárása
Part-7: Feature engineering for machine learning