Pytonorm

Python Namedtuple

Python Namedtuple

Python kommer med många inbyggda datastrukturer som listor, ordböcker och tuplar för att lagra och hantera data effektivt. Den namngivna tupeln är den ordboksliknande behållaren som finns i modulen "samlingar". I likhet med ordböckerna innehåller den namngivna tupeln också nycklarna som är mappade till värden. Emellertid tillåter den namngivna åtkomst åt värdena genom nycklar och genom index. Jämfört med Python-ordböckerna är åtkomst till värdena genom index den extra funktionaliteten i namedtuple. Den här artikeln förklarar Python med namnet Tuple i detalj med exempel.

Åtkomst till värden från den namngivna tupeln

Värdena i den namngivna tupeln kan nås på följande sätt:

  1. Genom att använda knapparna
  2. Genom att använda indexen
  3. Genom att använda funktionen getattr ()

Eftersom den namngivna konverterar fältet till attributen är det därför lätt att komma åt värdena med funktionen getattr ().

Exempel

Låt oss nu se några exempel för att förstå skapandet och arbetet med namedtuple. För att skapa och använda den namngivna tupeln måste vi först importera samlingsmodulen. I exemplet nedan skapas en namngiven tippel för en lärare. Nycklarna till namngiven par är namn, ålder respektive avdelning. Värdena nås med hjälp av index och nycklar.

#importing the collection module
importera samlingar
# skapa en namngiven tupel för en lärare
#namn, ålder och avdelning är nycklarna
Lärare = samlingar.namedtuple ('Lärare', ['namn', 'ålder', 'avdelning'])
# skapa en ny lärare och lägg till värdena
teacher_john = Lärare ("John", 29, "Datavetenskap")
#accessing the lärarvärden med hjälp av index
print ("Åtkomst till värden med index:")
skriva ut ("Lärarnas namn är:", teacher_john [0])
tryck ("Lärarens ålder är:", lärare_john [1])
tryck ("Läraravdelningen är:", teacher_john [2])
#åtkomst till lärarvärdena med hjälp av tangenter
print ("Åtkomst till värden med tangenter:")
skriva ut ("Lärarnas namn är:", lärare_john.namn)
tryck ("Lärarens ålder är:", lärare_john.ålder)
skriva ut ("Läraravdelningen är:", teacher_john.avdelning)

Produktion

Låt oss nu komma åt värdena med funktionen getattr (). Den namngivna tupeln och nyckeln skickas som ett argument till getattr () -funktionen.

#importing the collection module
importera samlingar
# skapa en namngiven tupel för en lärare
#namn, ålder och avdelning är nycklarna
Lärare = samlingar.namedtuple ('Lärare', ['namn', 'ålder', 'avdelning'])
# skapa en ny lärare och lägg till värdena
teacher_john = Lärare ("John", 29, "Datavetenskap")
#accessing the lärarvärden med funktionen getattr ()
skriva ut (getattr (lärare_john, "namn"))
skriva ut (getattr (lärare_john, "ålder"))
skriva ut (getattr (lärare_john, "avdelning"))

Produktion

Populära operationer med namedtuple

Några populära funktioner omvandlar de andra samlingarna som listor, ordböcker och tuplar till namedtuple och returnerar namngivna informationen. Följande är de funktioner som konverterar de andra samlingarna till namedtuple:-

Funktionen _make () konverterar ett iterabelt objekt som lista och tuple till en namngiven tupel. Funktionen _asdict () gör en orderDict från den namngivna tupeln och returnerar den. Slutligen konverterar ** operatören en ordbok till en namngiven tippel. Dessutom är följande funktioner som returnerar namngivna information:

Funktionen _fields () returnerar alla fälten i den namngivna tupeln, medan funktionen _replace () ersätter ett visst värde med ett annat värde.

Låt oss implementera funktionerna som nämnts ovan i vårt Python-skript för att konvertera de olika samlingarna till namedtuple.

#importing the collection module
importera samlingar
# skapar en namngiven tupel för en lärare
#namn, ålder och avdelning är nycklarna
Lärare = samlingar.namedtuple ('Lärare', ['namn', 'ålder', 'avdelning'])
# skapa en ny lärare och lägg till värdena
teacher_john = Lärare ("John", 29, "Datavetenskap")
# skapar en lista
teacher_list = ["Mark", 30, "Business Administration"]
# skapa en ordbok
teacher_dict = 'name': 'Talor', 'age': 32, 'department': 'Economics'
#using _make () -funktion för att konvertera listan till namedtuple
skriv ut ("Lista till namngiven konvertering:")
skriva ut (lärare._make (lärarlista))
#using _asdict () -funktionen för att göra en OrderDict
skriva ut ("Making the OrderedDict:")
skriva ut (lärare_john._asdict ()
# använder ** för att konvertera en ordlista till en namngiven titel
print ("Konvertera ordboken till namedtuple:")
skriv ut (lärare (** lärar_dikt))

Produktion

Låt oss nu använda funktionerna _fields () och _replace () för att få information om nycklarna och ersätta nycklarna.

#importing the collection module
importera samlingar
# skapa en namngiven tupel för en lärare
#namn, ålder och avdelning är nycklarna
Lärare = samlingar.namedtuple ('Lärare', ['namn', 'ålder', 'avdelning'])
# skapa en ny lärare och lägg till värdena
teacher_john = Lärare ("John", 29, "Datavetenskap")
#using _fields-funktionen för att få nycklarna till namedtuple
print ("Tangenterna till namedtuple är:")
skriva ut (lärare._fält)
#using _replace-funktion för att ersätta värdet
print ("Ersättningsvärdet för namnet är:")
skriva ut (lärare_john._replace (name = 'Donald'))

Produktion
I utgången kan det ses att funktionen _fields returnerar informationstangenterna, och funktionen _replace () ersätter namnet framgångsrikt.

Slutsats

Den namngivna tupeln är den ordboksliknande behållaren som finns i modulen “samlingar”. Den innehåller nyckeln och mappar värdena till nyckeln. Till skillnad från Python-ordlistan kan de namngivna värdena också nås med hjälp av indexen och getattr () -funktionen. Den här artikeln förklarar kortfattat namngivna par genom exempel.

Mus Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Dual Display Mouse Manager låter dig kontrollera och konfigurera musrörelser mellan flera skärmar genom att sakta ner dess rörelser nära gränsen. Wind...
Mus WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
Om du vill förbättra standardfunktionerna för din muspekare, använd freeware WinMouse. Det lägger till fler funktioner som hjälper dig att få ut det m...
Mus Mus vänsterklicka på knappen fungerar inte på Windows 10
Mus vänsterklicka på knappen fungerar inte på Windows 10
Om du använder en dedikerad mus med din bärbara dator eller stationära dator men musens vänsterklick-knapp fungerar inte på Windows 10/8/7 av någon an...