A Python számos beépített adatstruktúrával áll elő, például listákkal, szótárakkal és sorrenddel az adatok hatékony tárolásához és kezeléséhez. A namedtuple a szótárszerű tároló, amely a „gyűjtemények” modulban érhető el. A szótárakhoz hasonlóan a namedtuple tartalmazza az értékekhez hozzárendelt kulcsokat is. Azonban a namedtuple lehetővé teszi az értékek elérését kulcsok és indexek segítségével. A Python szótárakkal összehasonlítva az indexekhez történő hozzáférés az indextuple további funkciója. Ez a cikk példákkal részletesen elmagyarázza a Python namedupupt.
Értékek elérése a namedtuple-ből
A megnevezett duplán belüli értékek a következő módon érhetők el:
- A billentyűk használatával
- Az indexek használatával
- A getattr () függvény használatával
Mivel a namedtuple a mezőt attribútummá alakítja, ezért az értékekhez a getattr () függvény segítségével könnyű hozzáférni.
Példák
Most nézzünk meg néhány példát a namedtuple létrehozásának és működésének megértéséhez. A namedtuple létrehozásához és használatához először importálnunk kell a gyűjteményeket. Az alábbiakban egy példában létrehozunk egy megnevezett párosot egy tanár számára. A megnevezett pár kulcsai a név, az életkor és az osztály. Az értékek indexek és kulcsok segítségével érhetők el.
#importálás a gyűjtemények modulbólimport gyűjtemények
# megnevezett pár létrehozása egy tanár számára
A #név, az életkor és a részleg a kulcs
Tanár = gyűjtemények.namedtuple ('Tanár', ['név', 'kor', 'tanszék'])
# hozzon létre egy új tanárt, és adja hozzá az értékeket
teacher_john = Tanár ("John", 29, "Computer Science")
# a tanár értékeinek elérése indexek segítségével
print ("Értékekhez való hozzáférés indexek segítségével:")
nyomtatás ("A tanár neve:", tanár_john [0])
nyomtatás ("A tanár életkora:", tanár_john [1])
nyomtatás ("A tanári osztály:", tanár_john [2])
# a tanár értékeinek elérése kulcsokkal
print ("Értékekhez való hozzáférés kulcsokkal:")
print ("A tanár neve:", tanár_john.név)
print ("A tanár életkora:", tanár_john.kor)
print ("A tanári osztály:", tanár_john.osztály)
Kimenet
Most érjük el az értékeket a getattr () függvény segítségével. A namedtuple és a kulcs argumentumként kerül átadásra a getattr () függvényhez.
#importálás a gyűjtemények modulbólimport gyűjtemények
# megnevezett pár létrehozása egy tanár számára
A #név, az életkor és az osztály a kulcs
Tanár = gyűjtemények.namedtuple ('Tanár', ['név', 'kor', 'tanszék'])
# hozzon létre egy új tanárt, és adja hozzá az értékeket
teacher_john = Tanár ("John", 29, "Computer Science")
# a tanár értékeinek elérése a getattr () függvény segítségével
nyomtatás (getattr (tanár_john, "név"))
nyomtatás (getattr (tanár_john, "kor"))
nyomtatás (getattr (tanár_john, "tanszék"))
Kimenet
A namedtuple népszerű műveletei
Egyes népszerű funkciók a többi gyűjteményt, például listákat, szótárakat és sorrendeket konvertálják névre kettővé, és visszaadják a megnevezett pár információkat. Az alábbiakban bemutatjuk azokat a függvényeket, amelyek a többi gyűjteményt megnevezett párossá alakítják:-
- _make ()
- _cím ()
- ** operátor
A _make () függvény egy iterálható objektumot, például listát és tuple-t alakít át megnevezett párossá. A _asdict () függvény parancsot hoz létre a namedtuple-ből, és visszaadja azt. Végül a ** operátor átalakítja a szótárat megnevezett párossá. Ezenkívül a megnevezett páros információt visszaadó függvények a következők:
- _mezők
- _replace ()
A _fields () függvény visszaadja a namedtuple összes mezőjét, míg a _replace () függvény egy adott értéket egy másik értékkel helyettesít.
Végezzük el a Python szkriptünkben fent említett funkciókat, hogy a különböző gyűjteményeket namedtuple-vé alakítsuk át.
#importálás a gyűjtemények modulbólimport gyűjtemények
# megnevezett pár létrehozása egy tanár számára
A #név, az életkor és a részleg a kulcs
Tanár = gyűjtemények.namedtuple ('Tanár', ['név', 'kor', 'tanszék'])
# hozzon létre egy új tanárt, és adja hozzá az értékeket
teacher_john = Tanár ("John", 29, "Computer Science")
#lista létrehozása
teacher_list = ["Mark", 30, "Business Administration"]
# szótár létrehozása
teacher_dict = 'név': 'Talor', 'kor': 32, 'tanszék': 'Közgazdaságtan'
# using _make () függvény a lista névtuplá konvertálásához
print ("Lista névvel megduplázva átalakítás:")
nyomtatás (tanár._make (tanár_lista))
# using _asdict () függvény OrderDict készítéséhez
nyomtatás ("A OrderedDict készítése:")
nyomtatás (tanár_john._azdict ())
# a ** használatával szótárat megnevezett párossá konvertálni
print ("A szótár átalakítása megnevezett párossá:")
nyomtatás (tanár (** tanár_diktál))
Kimenet
Most használjuk a _fields () és a _replace () függvényeket a kulcsok információinak megszerzéséhez és a kulcsok cseréjéhez, ill.
#importálás a gyűjtemények modulbólimport gyűjtemények
# megnevezett pár létrehozása egy tanár számára
A #név, az életkor és az osztály a kulcs
Tanár = gyűjtemények.namedtuple ('Tanár', ['név', 'kor', 'tanszék'])
# hozzon létre egy új tanárt, és adja hozzá az értékeket
teacher_john = Tanár ("John", 29, "Computer Science")
Az #fields függvény használatával megkapja a namedtuple kulcsát
print ("A namedtuple kulcsai:")
nyomtatás (tanár._mezők)
# using _replace függvény az érték cseréjéhez
print ("A név helyettesítő értéke:")
nyomtatás (tanár_john._replace (név = 'Donald'))
Kimenet
A kimenetben látható, hogy a _fields függvény visszaadja az információ kulcsait, a _replace () függvény pedig sikeresen helyettesíti a nevet.
Következtetés
A namedtuple a szótárszerű tároló, amely a „gyűjtemények” modulban található. Ez tartalmazza a kulcsot, és leképezi az értékeket a kulcsra. A Python szótárral ellentétben a névminták értékei az indexek és a getattr () függvény segítségével is elérhetők. Ez a cikk példákkal röviden elmagyarázza a megnevezett párost.