Piton

Python Namedtuple

Python Namedtuple

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:

  1. A billentyűk használatával
  2. Az indexek használatával
  3. 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ól
import 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ól
import 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:-

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:

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ól
import 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ól
import 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.

A top 5 ergonómikus számítógépes egértermék Linuxhoz
Hosszan tartó számítógép-használat okoz-e fájdalmat a csuklóján vagy az ujjain?? Merev ízületek szenvednek, és folyamatosan kezet kell rázniuk? Égő fá...
Az egér és az érintőpad beállításainak módosítása az Xinput használatával Linux alatt
A legtöbb Linux disztribúció alapértelmezés szerint „libinput” könyvtárral szállítja a rendszer bemeneti eseményeit. Feldolgozhatja a Wayland és az X ...
Az X-Mouse Button Control segítségével az egér gombjait másképp alakíthatja át a különböző szoftvereknél
Lehet, hogy szüksége van egy eszközre, amely megváltoztathatja az egér vezérlését minden használt alkalmazással. Ebben az esetben kipróbálhatja az úgy...