Krajta

Python Namedtuple

Python Namedtuple

Python přichází s mnoha integrovanými datovými strukturami, jako jsou seznamy, slovníky a n-tice, které umožňují efektivní ukládání a správu dat. Namedtuple je kontejner podobný slovníku dostupný v modulu „sbírky“. Podobně jako slovníky, namedtuple také obsahuje klíče, které jsou mapovány na hodnoty. Namedtuple však umožňuje přístup k hodnotám pomocí klíčů a také prostřednictvím indexů. Ve srovnání se slovníky Pythonu je přístup k hodnotám prostřednictvím indexů další funkcí v namedtuple. Tento článek podrobně vysvětluje Python namedtuple s příklady.

Přístup k hodnotám z pojmenované řady

K hodnotám uvnitř pojmenované řady lze přistupovat následujícími způsoby:

  1. Pomocí kláves
  2. Pomocí indexů
  3. Pomocí funkce getattr ()

Protože namedtuple převádí pole na atributy, je snadné získat přístup k hodnotám pomocí funkce getattr ().

Příklady

Nyní se podívejme na několik příkladů, abychom porozuměli vytváření a fungování pojmenovaného tuple. Chcete-li vytvořit a použít pojmenovaný tuple, nejprve musíme importovat modul sbírek. V níže uvedeném příkladu je vytvořen pojmenovaný tuple pro učitele. Klíče pojmenované dvojice jsou jméno, věk a oddělení. K hodnotám se přistupuje pomocí indexů a klíčů.

#importování modulu sbírek
importovat sbírky
#vytvoření jmenovky pro učitele
# jméno, věk a oddělení jsou klíče
Učitel = sbírky.namedtuple ('Učitel', ['jméno', 'věk', 'oddělení'])
# vytvořte nového učitele a přidejte hodnoty
teacher_john = Učitel („John“, 29 let, „Počítačová věda“)
# přístup k hodnotám učitele pomocí indexů
print ("Přístup k hodnotám pomocí indexů:")
tisk ("Jméno učitele je:", teacher_john [0])
tisk ("Věk učitele je:", teacher_john [1])
tisk ("Učitelské oddělení je:", teacher_john [2])
# přístup k hodnotám učitele pomocí kláves
print ("Přístup k hodnotám pomocí kláves:")
print ("Jméno učitele je:", teacher_john.název)
print ("Věk učitele je:", teacher_john.stáří)
print ("Učitelské oddělení je:", teacher_john.oddělení)

Výstup

Nyní pojďme přistupovat k hodnotám pomocí funkce getattr (). Namedtuple a klíč se předají jako argument funkci getattr ().

#importování modulu sbírek
importovat sbírky
#vytvoření jmenovky pro učitele
# jméno, věk a oddělení jsou klíče
Učitel = sbírky.namedtuple ('Učitel', ['jméno', 'věk', 'oddělení'])
# vytvořte nového učitele a přidejte hodnoty
teacher_john = Učitel („John“, 29 let, „Počítačová věda“)
# přístup k učitelským hodnotám pomocí funkce getattr ()
print (getattr (teacher_john, "name"))
print (getattr (teacher_john, "věk"))
tisk (getattr (teacher_john, "oddělení"))

Výstup

Populární operace pojmenované n-tice

Některé populární funkce převádějí další kolekce, jako jsou seznamy, slovníky a n-tice, do pojmenované n-tice a vrací informace o pojmenované n-tice. Následuje funkce, které převádějí ostatní kolekce na namedtuple:-

Funkce _make () převádí iterovatelný objekt, jako je seznam a n-tice, do pojmenované n-tice. Funkce _asdict () vytvoří orderDict z namedtuple a vrátí jej. Nakonec operátor ** převede slovník na pojmenovanou třídu. Funkce, které vracejí pojmenované informace o řazených kolech, jsou následující:

Funkce _fields () vrací všechna pole namedtuple, zatímco funkce _replace () nahrazuje konkrétní hodnotu jinou hodnotou.

Pojďme implementovat funkce, jak je uvedeno výše, v našem skriptu Pythonu k převodu různých kolekcí na pojmenovaný tuple.

#importování modulu sbírek
importovat sbírky
#vytvoření jmenovky pro učitele
# jméno, věk a oddělení jsou klíče
Učitel = sbírky.namedtuple ('Učitel', ['jméno', 'věk', 'oddělení'])
# vytvořte nového učitele a přidejte hodnoty
teacher_john = Učitel („John“, 29 let, „Počítačová věda“)
#vytvoření seznamu
teacher_list = ["Mark", 30, "Business Administration"]
#vytvoření slovníku
teacher_dict = 'name': 'Talor', 'age': 32, 'department': 'Economics'
#using _make () funkce pro převod seznamu na namedtuple
print ("Převod seznamu na pojmenovanou dvojici:")
tisk (učitel._make (teacher_list))
#using _asdict () funkce k vytvoření OrderDict
print ("Vytvoření OrderedDict:")
tisk (teacher_john._asdict ())
#pomocí ** k převodu slovníku na pojmenovanou třídu
print ("Převod slovníku na pojmenovanýup:")
tisk (učitel (** teacher_dict))

Výstup

Nyní použijeme funkce _fields () a _replace () k získání informací o klíčích a jejich nahrazení.

#importování modulu sbírek
importovat sbírky
#vytvoření jmenovky pro učitele
# jméno, věk a oddělení jsou klíče
Učitel = sbírky.namedtuple ('Učitel', ['jméno', 'věk', 'oddělení'])
# vytvořte nového učitele a přidejte hodnoty
teacher_john = Učitel („John“, 29 let, „Počítačová věda“)
# using _fields funkce k získání klíčů namedtuple
print ("Klíče pojmenovaného tuple jsou:")
tisk (učitel._ pole)
# using _replace funkce k nahrazení hodnoty
print ("Hodnota nahrazení názvu je:")
tisk (teacher_john._replace (name = 'Donald'))

Výstup
Ve výstupu je vidět, že funkce _fields vrací klíče informací a funkce _replace () úspěšně nahrazuje název.

Závěr

Namedtuple je kontejner podobný slovníku v modulu „sbírky“. Obsahuje klíč a mapuje hodnoty na klíč. Na rozdíl od slovníku Pythonu lze k hodnotám namedtuples přistupovat také pomocí indexů a funkce getattr (). Tento článek stručně vysvětluje pojmenovanou třídu prostřednictvím příkladů.

Střední tlačítko myši nefunguje ve Windows 10
The prostřední tlačítko myši pomáhá procházet dlouhé webové stránky a obrazovky se spoustou dat. Pokud se to zastaví, budete nakonec používat klávesni...
Jak změnit levé a pravé tlačítko myši na počítači se systémem Windows 10
Je úplnou normou, že všechna zařízení počítačových myší jsou ergonomicky navržena pro praváky. K dispozici jsou však myší zařízení, která jsou speciál...
Emulace kliknutí myší vznášením pomocí myši Clickless Mouse ve Windows 10
Používání myši nebo klávesnice ve špatném držení těla nadměrného používání může mít za následek mnoho zdravotních problémů, včetně napětí, syndromu ka...