Python

Python Namupuple

Python Namupuple

Python piedāvā daudzas iebūvētas datu struktūras, piemēram, sarakstus, vārdnīcas un apkopojumus, lai efektīvi uzglabātu un pārvaldītu datus. Nosaukums duplup ir vārdnīcai līdzīgs konteiners, kas pieejams modulī “kolekcijas”. Līdzīgi kā vārdnīcās, nosauktajā tabulā ir arī atslēgas, kas ir piesaistītas vērtībām. Tomēr nosauktais dupleks ļauj piekļūt vērtībām, izmantojot atslēgas un, kā arī izmantojot indeksus. Salīdzinot ar Python vārdnīcām, piekļuve vērtībām, izmantojot indeksus, ir papildu funkcionalitāte nosauktajā adresē. Šajā rakstā ar piemēriem sīki izskaidrots Python nosauktais dupleks.

Piekļuve vērtībām no nosauktajā pāra

Vērtībām nosauktajā iekšpusē var piekļūt šādi:

  1. Izmantojot taustiņus
  2. Izmantojot indeksus
  3. Izmantojot funkciju getattr ()

Tā kā nosauktais korpuss pārvērš lauku par atribūtiem, tāpēc ir viegli piekļūt vērtībām, izmantojot funkciju getattr ().

Piemēri

Tagad aplūkosim dažus piemērus, lai izprastu nosaukto duplu izveidi un darbību. Lai izveidotu un izmantotu nosaukumuupu, vispirms jāimportē kolekciju modulis. Turpmāk sniegtajā piemērā tiek izveidots nosauktsuplis skolotājam. Nosauktā nosaukuma atslēgas ir attiecīgi nosaukums, vecums un nodaļa. Vērtībām var piekļūt, izmantojot rādītājus un atslēgas.

#importējot kolekciju moduli
importēt kolekcijas
# izveidojot skolotājam nosaukumu
# vārds, vecums un nodaļa ir atslēgas
Skolotājs = kolekcijas.namedtuple ('Skolotājs', ['vārds', 'vecums', 'nodaļa'])
# izveidojiet jaunu skolotāju un pievienojot vērtības
teacher_john = Skolotājs ("Jānis", 29 gadi, "Datorzinātnes")
# piekļūt skolotāju vērtībām, izmantojot rādītājus
drukāt ("Piekļuve vērtībām, izmantojot rādītājus:")
drukāt ("Skolotāja vārds ir:", skolotāja_džohns [0])
drukāt ("Skolotāja vecums ir:", skolotāja_džohons [1])
drukāt ("Skolotāju nodaļa ir:", skolotājs_johns [2])
# piekļūt skolotāja vērtībām, izmantojot taustiņus
drukāt ("Piekļuve vērtībām, izmantojot taustiņus:")
drukāt ("Skolotāja vārds ir:", skolotāja_džohns.nosaukums)
drukāt ("Skolotāja vecums ir:", skolotājs_johns.vecums)
drukāt ("Skolotāju nodaļa ir:", skolotājs_jons.nodaļa)

Rezultāts

Tagad piekļūsim vērtībām, izmantojot funkciju getattr (). Nosaukumsupu un atslēgu kā argumentu nodod funkcijai getattr ().

#importējot kolekciju moduli
importēt kolekcijas
# izveidojot nosauktu dubultu skolotājam
# vārds, vecums un nodaļa ir atslēgas
Skolotājs = kolekcijas.namedtuple ('Skolotājs', ['vārds', 'vecums', 'nodaļa'])
# izveidojiet jaunu skolotāju un pievienojot vērtības
teacher_john = Skolotājs ("Jānis", 29 gadi, "Datorzinātnes")
# piekļūt skolotāju vērtībām, izmantojot funkciju getattr ()
izdrukāt (getattr (skolotāja_džohns, "vārds"))
drukāt (getattr (skolotāja_džohns, "vecums"))
drukāt (getattr (skolotāja_johns, "nodaļa"))

Rezultāts

Populāras nosaukto dubultu operācijas

Dažas populāras funkcijas pārvērš citas kolekcijas, piemēram, sarakstus, vārdnīcas un rindkopas nosauktajā komplektā un atgriež nosaukto kopu. Tālāk ir norādītas funkcijas, kas pārvērš citas kolekcijas par nosauktajām:-

Funkcija _make () pārveido iterējamu objektu, piemēram, sarakstu un kopēšanu nosauktajā. Funkcija _asdict () izveido orderDict no nosaukumaupes un atgriež to. Visbeidzot, operators ** pārveido vārdnīcu nosauktajā dubultā. Turklāt funkcijas, kas atgriež nosauktoupu informāciju, ir šādas:

Funkcija _fields () atgriež visus nosauktajā laukā esošos laukus, savukārt funkcija _replace () aizstāj noteiktu vērtību ar citu vērtību.

Īstenosim iepriekš minētās funkcijas mūsu Python skriptā, lai pārvērstu dažādas kolekcijas nosauktajā.

#importējot kolekciju moduli
importēt kolekcijas
# izveidojot nosauktu dubultu skolotājam
# vārds, vecums un nodaļa ir atslēgas
Skolotājs = kolekcijas.namedtuple ('Skolotājs', ['vārds', 'vecums', 'nodaļa'])
# izveidojiet jaunu skolotāju un pievienojot vērtības
teacher_john = Skolotājs ("Jānis", 29 gadi, "Datorzinātnes")
# saraksta izveide
teacher_list = ["Atzīmēt", 30, "Uzņēmējdarbības vadība"]
# vārdnīcas izveide
teacher_dict = 'name': 'Talor', 'age': 32, 'department': 'Economics'
#using _make () funkciju, lai pārvērstu sarakstu nosauktajā
drukāt ("Saraksts uz nosaukto dubulto reklāmguvumu:")
drukāt (Skolotājs._make (skolotāju_ saraksts))
#using _asdict () funkciju, lai izveidotu OrderDict
drukāt ("Making the OrderedDict:")
drukāt (skolotājs_john._noteikt ()
#izmantojot **, lai vārdnīcu pārvērstu nosauktajā
print ("Vārdnīcas pārveidošana nosauktajā:")
izdrukāt (skolotājs (** skolotāja_diktāts))

Rezultāts

Tagad izmantosim funkcijas _fields () un _replace (), lai iegūtu informāciju par atslēgām un attiecīgi aizstātu taustiņus.

#importējot kolekciju moduli
importēt kolekcijas
# nosaukuma izveidošana skolotājam
# vārds, vecums un nodaļa ir atslēgas
Skolotājs = kolekcijas.namedtuple ('Skolotājs', ['vārds', 'vecums', 'nodaļa'])
# izveidojiet jaunu skolotāju un pievienojot vērtības
teacher_john = Skolotājs ("Jānis", 29 gadi, "Datorzinātnes")
#using _fields funkciju, lai iegūtu nosaukumaupes atslēgas
print ("Nosaukuma nosaukuma taustiņi ir:")
drukāt (Skolotājs._ lauki)
#using _replace, lai aizstātu vērtību
print ("Nosaukuma aizstājējvērtība ir:")
drukāt (skolotājs_john._replace (vārds = 'Donalds'))

Rezultāts
Izejā redzams, ka funkcija _fields atgriež informācijas atslēgas, un funkcija _replace () veiksmīgi aizstāj nosaukumu.

Secinājums

Nosaukums duplup ir vārdnīcai līdzīgs konteiners, kas atrodas modulī “kolekcijas”. Tajā ir atslēga un vērtības tiek sasaistītas ar atslēgu. Atšķirībā no Python vārdnīcas nosauktajiem parametriem var piekļūt arī, izmantojot indeksu un getattr () funkciju. Šajā rakstā, izmantojot piemērus, īsi izskaidrots nosauktais pāris.

Kā lejupielādēt un atskaņot Sid Meier Civilization VI operētājsistēmā Linux
Ievads spēlē Civilization 6 ir mūsdienīga klasiskā koncepcija, kas ieviesta Age of Empires spēļu sērijā. Ideja bija diezgan vienkārša; jūs sāktu pašā ...
Kā instalēt un spēlēt Doom uz Linux
Ievads liktenī Doom sērija radās 90. gados pēc sākotnējā Doom izlaišanas. Tas bija tūlītējs hīts, un kopš tā laika spēļu sērija ir saņēmusi daudzas ba...
Vulkan Linux lietotājiem
Ar katru jauno grafisko karšu paaudzi mēs redzam, kā spēļu izstrādātāji pārspēj grafiskās uzticamības robežas un tuvojas fotoreālismam. Neskatoties uz...