Python

Python Namedtuple

Python Namedtuple

Python prichádza s mnohými zabudovanými dátovými štruktúrami, ako sú zoznamy, slovníky a n-tice, ktoré umožňujú efektívne ukladanie a správu údajov. Namedtuple je kontajner podobný slovníku, ktorý je k dispozícii v module „zbierky“. Podobne ako slovníky, namedtuple obsahuje aj kľúče, ktoré sú mapované na hodnoty. Namedtuple však umožňuje prístup k hodnotám pomocou kľúčov a tiež prostredníctvom indexov. V porovnaní so slovníkmi Pythonu je prístup k hodnotám prostredníctvom indexov ďalšou funkciou v namedtuple. Tento článok podrobne vysvetľuje príklady python namedtuple.

Prístup k hodnotám z pomenovanej trojice

K hodnotám vo vnútri namedtuple je možné pristupovať nasledujúcimi spôsobmi:

  1. Pomocou klávesov
  2. Použitím indexov
  3. Použitím funkcie getattr ()

Pretože namedtuple prevádza pole na atribúty, je k nim ľahký prístup pomocou funkcie getattr ().

Príklady

Teraz si ukážeme niekoľko príkladov na pochopenie vytvorenia a fungovania pomenovanej dvojice. Aby sme vytvorili a použili namedtuple, najskôr je potrebné importovať modul zbierok. V nasledujúcom príklade sa vytvorí pomenovaná dvojka pre učiteľa. Kľúče pomenovanej dvojice sú meno, vek a oddelenie. K hodnotám sa pristupuje pomocou indexov a kľúčov.

#importovanie modulu zbierok
importovať zbierky
#vytvorenie pomenovanej dvojice pre učiteľa
# meno, vek a oddelenie sú kľúče
Učiteľ = zbierky.namedtuple ('Učiteľ', ['meno', 'vek', 'oddelenie'])
# vytvorte nového učiteľa a pridajte hodnoty
teacher_john = Učiteľ („John“, 29 rokov, „Počítačová veda“)
# prístup k hodnotám učiteľa pomocou indexov
print ("Prístup k hodnotám pomocou indexov:")
print („Meno učiteľa je:“, teacher_john [0])
print ("Vek učiteľa je:", teacher_john [1])
print ("Učiteľské oddelenie je:", teacher_john [2])
# prístup k hodnotám učiteľa pomocou klávesov
print ("Prístup k hodnotám pomocou klávesov:")
print ("Meno učiteľa je:", teacher_john.názov)
print ("Vek učiteľa je:", teacher_john.Vek)
print ("Učiteľské oddelenie je:", teacher_john.oddelenie)

Výkon

Teraz poďme pristupovať k hodnotám pomocou funkcie getattr (). Pomenovaný tuple a kľúč sa odovzdajú ako argument funkcii getattr ().

#importovanie modulu zbierok
importovať zbierky
#vytvorenie pomenovanej dvojice pre učiteľa
# meno, vek a oddelenie sú kľúče
Učiteľ = zbierky.namedtuple ('Učiteľ', ['meno', 'vek', 'oddelenie'])
# vytvorte nového učiteľa a pridajte hodnoty
teacher_john = Učiteľ („John“, 29 rokov, „Počítačová veda“)
# prístup k hodnotám učiteľa pomocou funkcie getattr ()
print (getattr (teacher_john, "meno"))
print (getattr (teacher_john, "age"))
print (getattr (teacher_john, "oddelenie"))

Výkon

Populárne operácie pomenovanej dvojice

Niektoré populárne funkcie prevádzajú ďalšie kolekcie, ako sú zoznamy, slovníky a n-tice, do pomenovanej dvojice a vrátia informácie o pomenovanej trojici. Nasledujú funkcie, ktoré prevádzajú ostatné kolekcie na namedtuple:-

Funkcia _make () prevádza iterovateľný objekt, ako je zoznam a n-tica, na pomenovanú n-ticu. Funkcia _asdict () urobí orderDict z namedtuple a vráti ho. Nakoniec operátor ** prevedie slovník na pomenovanú trojicu. Funkcie, ktoré vracajú informácie o pomenovanej trojici, sú navyše:

Funkcia _fields () vráti všetky polia namedtuple, zatiaľ čo funkcia _replace () nahradí konkrétnu hodnotu inou hodnotou.

Implementujme vyššie uvedené funkcie v našom skripte Python, aby sme konvertovali rôzne kolekcie na namedtuple.

#importovanie modulu zbierok
importovať zbierky
#vytvorenie pomenovanej dvojice pre učiteľa
# meno, vek a oddelenie sú kľúče
Učiteľ = zbierky.namedtuple ('Učiteľ', ['meno', 'vek', 'oddelenie'])
# vytvorte nového učiteľa a pridajte hodnoty
teacher_john = Učiteľ („John“, 29 rokov, „Počítačová veda“)
#vytvorenie zoznamu
teacher_list = ["Mark", 30, "Business Administration"]
#vytvorenie slovníka
teacher_dict = 'name': 'Talor', 'vek': 32, 'department': 'ekonomika'
#using _make () funkcia na prevod zoznamu na namedtuple
print ("Konverzia zoznamu na pomenovanú dvojicu:")
tlač (Učiteľ._make (teacher_list))
#using _asdict () funkcia na vytvorenie OrderDict
print („Making the OrderedDict:“)
tlačiť (teacher_john._asdict ())
#použite ** na prevedenie slovníka na pomenovanú trojicu
print ("Konverzia slovníka na pomenovanú trojicu:")
tlač (Učiteľ (** teacher_dict))

Výkon

Teraz použijeme funkcie _fields () a _replace () na získanie informácií o kľúčoch a ich nahradenie.

#importovanie modulu zbierok
importovať zbierky
#vytvorenie pomenovanej dvojice pre učiteľa
# meno, vek a oddelenie sú kľúče
Učiteľ = zbierky.namedtuple ('Učiteľ', ['meno', 'vek', 'oddelenie'])
# vytvorte nového učiteľa a pridajte hodnoty
teacher_john = Učiteľ („John“, 29 rokov, „Počítačová veda“)
# using _fields funkcia na získanie kľúčov namedtuple
print ("Kľúče namedtuple sú:")
tlač (Učiteľ._pole)
# using _replace funkcia na nahradenie hodnoty
print ("Hodnota nahradenia mena je:")
tlačiť (teacher_john._replace (name = 'Donald'))

Výkon
Na výstupe je vidieť, že funkcia _fields vracia kľúče s informáciami a funkcia _replace () úspešne nahradzuje meno.

Záver

Namedtuple je kontajner podobný slovníku, ktorý sa nachádza v module „zbierky“. Obsahuje kľúč a mapuje hodnoty na kľúč. Na rozdiel od slovníka Python je k hodnotám namedtuples možné pristupovať aj pomocou funkcie indexes a getattr (). Tento článok stručne vysvetľuje pomenovanú trojicu na príkladoch.

Trackpad a ukazovateľ myši AppyMouse na obrazovke pre tablety so systémom Windows
Používateľom tabletov často chýba ukazovateľ myši, najmä keď notebooky bežne používajú. Dotykové smartphony a tablety majú veľa výhod a jediným obmedz...
Stredné tlačidlo myši nefunguje v systéme Windows 10
The stredné tlačidlo myši pomáha vám prechádzať dlhé webové stránky a obrazovky s množstvom údajov. Ak sa to zastaví, budete nakoniec používať klávesn...
Ako zmeniť ľavé a pravé tlačidlo myši na počítači so systémom Windows 10
Je úplnou normou, že všetky zariadenia počítačových myší sú ergonomicky navrhnuté pre pravákov. Existujú však dostupné myšacie zariadenia, ktoré sú šp...