python tuple tutorial with hands examples
Raziščite koncept Tuple v Pythonu in Tuple vs List v tej vadnici s primeri:
V Pythonu imamo štiri vrste podatkov o zbirki, kot je omenjeno spodaj:
- Seznam
- Nastavite
- Slovar
- Tuple
V tej vadnici si bomo poglobljeno ogledali Tuple v Pythonu in njegove različne operacije. Ne zamudite prebrati našega Celotna paleta vadnic za Python .
V Pythonu je nabor podatkovna struktura in je podoben matriki, ki se uporablja za shranjevanje več podatkov hkrati. Če imate izkušnje z drugimi programskimi jeziki, kot so Java, C, C ++ itd., Potem boste poznali koncept nizov, zato je tuple skoraj enako kot polja.
Kaj se boste naučili:
- Kaj je tuple?
- Tuple vs List
- Ustvarjanje tuple
- Dostop do vrednosti v Tupleju
- Negativno indeksiranje
- Rezanje korita
- Spreminjanje tuple
- Pretvarjanje seznama v tuple
- Pretvorba tuple v niz
- Razvrsti Tuple v Python
- Pakiranje in razpakiranje korita
- NamedTuple
- Vrni tuple
- Kazalo tuple zunaj dosega
- Brisanje Tuple
- Osnovne operacije združevanja
- Vgrajene metode Tuples
- Zaključek
- Priporočeno branje
Kaj je tuple?
Tuple je podatkovna struktura, ki se uporablja za shranjevanje več podatkov hkrati. Podatki, shranjeni v naboru, so raznoliki in to je resnično najmočnejša značilnost nabora v Pythonu. V en sklop lahko shranimo več podatkov različnih podatkovnih vrst, kot so niz, cela števila in predmeti.
Tuple je v Pythonu nespremenljiv, zato podatkov po dodelitvi ni mogoče spremeniti.
Do podatkov, shranjenih v tupleju, se dostopa s pomočjo njihovega indeksa, saj se bo indeks korit vedno začel od nič. Vsak element ima določeno mesto v naboru in vsi ti podatki so dostopni s pomočjo indeksa.
Tuple vs List
- Seznam v Pythonu je spremenljiv (vrednosti je mogoče spremeniti), medtem ko je Tuple nespremenljiv (vrednosti ni mogoče spremeniti)
- V primerjavi s strukturo podatkov seznama tuple ponuja manj funkcij v Pythonu.
- Ker so nabori nespremenljivi, poveča zmogljivost, saj je ponavljanje v naboru hitrejše v primerjavi s seznamom.
Ustvarjanje tuple
Podatki v naboru so shranjeni z ločenimi vejicami in so zaprti v oklepaju (). Tupi lahko vsebujejo poljubno število predmetov različnih vrst.
Sintaksa:
Tuple = (item1, item2, item3)
Primer: 1
Tuple = ()
Primer: 2
Tuple = (2, 4, 5.6)
Primer: 3
Tuple = (2, 5, 4.5, “Hi”)
Primer: 4
Tuple = (“Hi”, “Hello”, “Python”)
Če opazimo zgornje primere, imamo shranjene predmete različnih podatkovnih tipov z ločenimi vejicami, pri čemer sta 2 in 5 tipa Integer, 4,5 je tipa float in 'Hi' je tipa String. Lahko prijavimo tudi prazen tuple.
kako odpreti swf z adobe flash predvajalnikom -
Prav tako lahko prijavimo seznam ali nabor znotraj nabora, kar se imenuje ugnezdeni nabor.
Primer: 5
Tuple = (“Python”, (2, 4, 6), (4, 5.6, “Hi”)) print(“Contents of tuple is:”, Tuple)
Izhod:
Vsebina nabora je: ('Python', (2, 4, 6), (4, 5.6, 'Hi'))
Če opazite zgornji primer, smo razglasili seznam in nabor znotraj drugega nabora.
Če torta vsebuje samo en element, potem se ne šteje za korito. To bi morala biti zadnja vejica, ki določa tolmaču, da gre za nabor.
Poglejmo, v spodnjem primeru
Primer: 6
my_tuple = (“Python”) Print(“Type of my_tuple is:”, type(my_tuple)) my_tuple = (10) Print(“Type of my_tuple is:”, type(my_tuple)) my_tuple = (“Python”, ) Print(“Type of my_tuple is:”, type(my_tuple))
Izhod:
Vrsta my_tuple je:
Vrsta my_tuple je:
Vrsta my_tuple je:
Dostop do vrednosti v Tupleju
Obstaja več načinov, na katere lahko dostopamo do elementov, ki so znotraj nabora v Pythonu. S pomočjo indeksa lahko dostopamo do elementov korice. Indeks se začne pri 0 in indeks mora biti vedno celo število. Če uporabimo indeks, ki ni celo število, kot je float, bo to povzročilo TypeError.
Primer: 1
Tuple = (3, 5, 6.7, “Python”) print(“Tuple is:”, Tuple)
Izhod:
Tuple je: (3. 5. 6.7, 'Python')
V zgornjem primeru smo tuple neposredno natisnili s funkcijo tiskanja in do posameznih elementov tupe nismo dostopali.
Dostopimo do posameznih elementov korita.
Primer: 2
Tuple = (3, 5, 6.7, “Python”) print(“Third element of the Tuple is:”, Tuple(2))
Izhod:
Tretji element Tuple je: 6.7
Primer: 3
Tuple = (3, 5, 6.7, “Python”) print(“First element of the Tuple is:”, Tuple(0)) print(“Last element of the Tuple is:”, Tuple(3))
Izhod:
Prvi element Tuple je: 3
Zadnji element Tuple je: 'Python'
Do elementov, ki so prisotni v ugnezdenem tupleju, lahko dostopamo tudi s pomočjo ugnezdenega indeksiranja.
Primer: 4
Tuple = (“Python”, (2, 4, 6), (4, 5.6, “Hi”)) print(“First element of the tuple is:”, Tuple(0)(1)) print(“Items present inside another list or tuple is:”, Tuple(2)(1))
Izhod:
Prvi element nabora je: 'y'
Elementi na drugem seznamu ali naboru so: 5.6
Kot je razloženo v Vadnica za seznam Python vrednosti znotraj ugnezdenega seznama so shranjene v obliki matrike, podobno tudi Tuple sledi istemu konceptu.
P y t h o n
2 4 6
4 5.6 Živjo
Torej, ko poskusimo dostopati do Tuple (0) (1), bo kazal na 1stvrstici in 2ndstolpca, tako da bodo podatki 'y'.
Podobno, ko poskušamo dostopati do seznama (2) (1), bo kazal na 3rdvrstici in 2ndstolpec, torej bodo podatki 5.6
Opomba:Zgornji koncept deluje samo, ko poskušate dostopati do elementov korice z uporabo ugnezdenega indeksiranja.
Negativno indeksiranje
Do podatkov lahko dostopamo tudi z negativnim indeksom. Negativni indeks se bo vedno začel od -1 in -1 se nanaša na zadnji element, -2 pa na zadnji drugi element in torej skupaj.
Vedno ne pozabite, da se pozitivno indeksiranje uporablja za ponavljanje elementov nabora naprej, medtem ko negativno indeksiranje sledi nazaj.
Primer: 1
Tuple = (3, 5, 7.8) print(“Last element of the tuple is:”, Tuple(-1))
Izhod:
Zadnji element korita je: 7.8
Primer: 2
Tuple = (3, 5, 7.8) print(“First element of the tuple is:”, Tuple(-3))
Izhod:
Prvi element korita je: 3
Rezanje korita
Z operaterjem rezine (:) lahko iz tupleta dostopamo do številnih elementov.
Primer: 1
Tuple = (1, 2.5, 3, 4.9, 5, 6, “Python”) print(“Elements from 2nd to 5th is: ”, Tuple(1:5)) print(“Elements beginning to 4th is: ”, Tuple(:-3)) print(“Elements 4th to end is: ”, Tuple(3:)) print(“Elements from start to end is: “, Tuple(:))
Izhod:
Elementi od 2. do 5. je: (2,5, 3, 4,9, 5)
Elementi, ki se začnejo do 4. je: (1, 2,5, 3, 4,9)
Elementi od 4. do konca so: (4.9, 5, 6, 'Python')
Elementi od začetka do konca so: (1, 2,5, 3, 4,9, 5, 6, 'Python')
Do elementov, prisotnih v naboru, lahko dostopamo tudi z zanko for.
Primer: 2
Tuple = (3, 5, 7.8) print(“First element of the tuple is:”, Tuple(-3))
Izhod:
1.
dva
3.5
5.
'Živjo'
Spreminjanje tuple
Kot vemo, so Tuples v Pythonu nespremenljivi, zato podatkov ni mogoče spreminjati, vendar so seznami spremenljivi. Tako je mogoče spremeniti sezname, ki so znotraj korit (ugnezdeni tuple).
Primer: 1
Tuple = (3, 4.5, (4, 5, 6)) print(“Original Tuple is:”, Tuple) Tuple(2)(0) = 2 print(“Updated Tuple is:”, Tuple)
Izhod:
Original Tuple je: (3, 4,5, (4, 5, 6))
Posodobljeni Tuple je: (3, 4,5, (2, 5, 6))
V Tupleju ne moremo uporabiti funkcije append () ali extension (), saj so nabori nespremenljivi. Prav tako ne morete uporabiti funkcije remove () ali pop ().
Pretvarjanje seznama v tuple
Seznam lahko pretvorimo v Tuple z vgrajeno funkcijo Python, imenovano tuple ().
Sintaksa:
tuple(arg1)
Funkcija Tuple () sprejme en argument, argument pa mora biti ime spremenljivke seznama.
Primer: 1
List = (2, 4, 5.6, “Hi”) print(“Original List is:”, List) Tuple = tuple(List) print(“After converting to tuple is:”, Tuple)
Izhod:
Izvirni seznam je: (2, 4, 5.6, »Živjo«)
Po pretvorbi v tuple je: (2, 4, 5.6, 'Hi')
Pretvorba tuple v niz
Tuple lahko pretvorimo v String tudi na dva načina.
Pristop: 1
Z uporabo vgrajene metode join () iz Stringa lahko pretvorimo Tuple v String.
Primer: 1
def convertTupleToString(my_tuple): s = ‘’.join(my_tuple) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
Izhod:
Pred pretvorbo v niz: („P“, „y“, „t“, „h“, „o“, „n“)
Po pretvorbi v String: 'Python'
Pristop: 2
Za pretvorbo Tuple v String se uporablja metoda reduce () iz functools. Ta metoda združi znak, ki je prisoten v naboru, in ustvari niz.
Primer: 2
najboljše mesto za spletno gledanje anime
import operator import functools def convertTupleToString(my_tuple): s = functools.reduce(operator.add, (my_tuple)) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
Izhod:
Pred pretvorbo v niz: („P“, „y“, „t“, „h“, „o“, „n“)
Po pretvorbi v String: 'Python'
Opomba: Tuple lahko pretvorite v String samo, če Tuple vsebuje znake. Če nabor vsebuje kateri koli element tipa celo število ali float, bo vrnil napako.
Primer: 3
def convertTupleToString(my_tuple): s = ‘’.join(my_tuple) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, 4, 6.5) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
Izhod:
Pred pretvorbo v niz: („P“, „y“, „t“, „h“, „o“, „n“, 4, 6,5)
Sledenje (zadnji zadnji klic):
Datoteka “”, vrstica 1, v
str = '.join (Tuple)
TypeError: element zaporedja 6: pričakovani primerek str, int najden
Razvrsti Tuple v Python
V pythonu imamo vgrajeno funkcijo sorted () za razvrščanje elementov korice.
Sintaksa:
sorted(arg1)
Metoda sorted () sprejme en argument, ki je ime spremenljivke.
Primer: 1
def sortTuple(my_tuple): sort = sorted(my_tuple) return sort Tuple = (2, 4, 6, 1, 4, 7.8, 2.7) print(“Before sorting the Tuple is:”, Tuple) sortedTuple = sortTuple(Tuple) print(“After sorting the Tuple is:”, sortedTuple)
Izhod:
Pred razvrščanjem Tuple je: (2, 4, 6, 1, 4, 7.8, 2.7)
Po razvrščanju Tuple je: (1, 2, 2.7, 4, 4, 6, 7.8)
Pakiranje in razpakiranje korita
Python ponuja pomembno funkcijo, imenovano pakiranje in razpakiranje. Pri pakiranju vrednost damo v nabor, pri razpakiranju pa vse tiste vrednosti, shranjene v tupleh, izvlečemo v spremenljivke.
Primer: 1
Tuple = (“John”, 23567, “Software Engineer”) (eName, eID, eTitle) = Tuple print(“Packed tuples is:”, Tuple) print(“Employee name is:”, eName) print(“Employee ID is:”, eID) print(“Employee Title is:”, eTitle)
Izhod:
Pakirane korice so: (“John”, 23567, “Software Engineer”)
Ime zaposlenega je: John
ID zaposlenega je: 23567
Naslov zaposlenega je: Programski inženir
Če v zgornjem primeru opazite v vrstici številka 2, razvrstimo paket v nekaj spremenljivk.
Opomba: Število elementov v naboru mora biti enako številu spremenljivk v razpakiranem naboru.
NamedTuple
Python ponuja posebno vrsto funkcije, imenovano namedtuple (), ki prihaja iz zbirnega modula.
Poimenovani Tuples so podobni slovarju, ki vsebuje ključe in vrednosti. Toda razlika je v tem, da lahko v slovarju do vrednosti dostopamo samo s ključem, vendar NamedTuple podpira dostop tako iz vrednosti kot iz ključa.
Obstajajo trije načini, na katere lahko dostopamo do vrednosti nemaedtuple ().
- Dostop po indeksu
- Dostop po ključu
- Dostop po metodi getattr ()
Primer: 1
import collections Employee = collections.namedtuple(‘Employee’, (‘name’, ‘ID’, ‘Title’)) Emp = Employee(‘John’, ‘23567’, ‘Software Engineer’) #Accessing using index print(“Employee name is:”, Emp(0)) # Accessing using key print(“Employee ID is:”, Emp.ID) #Access by getattr() method print(“Employee Title is:”, getattr(Emp, ‘Title’))
Izhod:
Ime zaposlenega je: John
ID zaposlenega je: 23567
Naslov zaposlenega je: Programski inženir
Za funkcijo namedtuples () so podprte tudi tri operacije pretvorbe.
- _make ()
- _asdict ()
- ** Operator (dvojni zagon)
Primer: 2
import collections Employee = collections.namedtuple(‘Employee’, (‘name’, ‘ID’, ‘Title’)) Emp = Employee(‘John’, ‘23567’, ‘Software Engineer’) Emp1 = (‘Mathew’, ‘45783’, “Software Developer”) Emp2 = {‘name’ : “Helen”, ‘ID’ : 56873, ‘Title’ : “Test Lead”} #Using _make() print(Employee._make(Emp1)) #Using _asdict() print(Emp._asdict()) #Using ** operator print(Employee(**Emp2))
Izhod:
Zaposlen (ime = 'Mathew', ID = '45783', Naslov = 'Razvijalec programske opreme')
OrderedDict (((„ime“, „John“), („ID“, „23567“), („Naslov“, „Programski inženir“)))
Zaposlena (ime = 'Helen', ID = 56873, Naslov = 'Test Lead')
Vrni tuple
Z uporabo stavka return lahko vrnemo zbirko vrednosti ali nabora.
Primer: 1
def my_fun(): name = “John” ID = 23567 Title = “Software Engineer” return (name, ID, Title) employee = my_fun() print(“Employee detail is:”, employee)
Izhod:
Podrobnosti o zaposlenem so: (‘John’, 23567, ‘Software Engineer’)
Kazalo tuple zunaj dosega
Indeks zunaj obsega je ena najpogostejših izjem, ki jih bomo dobili pri delu s Tuples ali listom. Ta izjema se ponavadi zgodi, ko poskušate dostopati do predmeta zunaj nabora, obsega, kar pomeni, da čepi vsebujejo samo 3 elemente in če poskusite dostopati dothelement, potem bo indeks tuple izvzel izjemo obsega.
Primer: 1
Tuple = (4, 7, 1.2, “Hi”) print(Tuple(4))
Izhod:
Sledenje (zadnji zadnji klic):
Datoteka “”, vrstica 1, v
Tuple (4)
IndexError: indeks nabora zunaj obsega
Če opazite v zgornjem primeru, poskušamo dostopati do elementa, ki je prisoten na 5thposition, vendar tam ni elementa, zato vrže indeks tuple izven obsega.
Brisanje Tuple
Iz nabora ne moremo izbrisati posameznih elementov, saj so nabori nespremenljivi. Edini način za brisanje elementov iz nabora je izbrisati celoten nabor.
Python ponuja vgrajeno funkcijo 'del' za brisanje celotnega nabora.
Primer: 1
Tuple = (2, 4.5, “Python”) print(“Before deleting the tuple:”, Tuple) del Tuple print(“After Deleting the tuple:”, Tuple)
Izhod:
Pred brisanjem nabora: (2, 4.5, “Python”)
Sledenje (zadnji zadnji klic):
Datoteka “”, vrstica 1, v
print (“Po brisanju tuple:”, Tuple)
NameError: ime 'Tuple' ni določeno
V zgornjem primeru poskušamo po brisanju tuple natisniti Tuple, vendar ne obstaja več. Zato vrže NameError.
Osnovne operacije združevanja
Z uporabo nabora lahko izvedemo nekaj osnovnih operacij, kot so združevanje, ponavljanje itd.
Oglejmo si vse osnovne operacije z nekaj primeri.
Primer: 1 - Združevanje tuplev
Tupe lahko združimo z operatorjem ‘+’.
Tuple1 = (3, 5, “Hi”) Tuple2 = (5.6, 1, “Python”) print(“Tuple 1 is:”, Tuple1) print(“Tuple 2 is”, Tuple2) print(“Concatenation of Tuple 1 and Tuple 2 is:”, Tuple1+Tuple2)
Izhod:
Tuple 1 je: (3, 5, 'Hi')
Tuple 2 je: (5.6, 1, 'Python')
Združevanje Tuple 1 in Tuple 2 je: (3, 5, 'Hi', 5.6, 1, 'Python')
Primer: 2 - ponovitev tuple
Ponavljanje nabora pomeni večkratno ponavljanje elementov nabora. To je mogoče doseči z uporabo operatorja * *.
Tuple = (3, 1, 5.6, “Python”) print(“Before the repetition the tuple is:”, Tuple) print(“After the repetition the tuple is:”, Tuple*3)
Izhod:
kako zagnati torrent datoteko
Pred ponovitvijo je nabor: (3, 1, 5.6, 'Python')
Po ponovitvi je nabor: (3, 1, 5.6, 'Python', 3, 1, 5.6, 'Python', 3, 1, 5.6, 'Python')
Primer: 3 - Članstvo
Z operatorjem ‘in’ lahko preverimo, ali je določen element prisoten v Tupleju. Vrne logično vrednost True, če je element prisoten v vrvici, in vrne False, če element ni prisoten.
Tuple = (3, 2, 6) print(“Is element 2 present in Tuple:”, 2 in Tuple)
Izhod:
Ali je element 2 prisoten v Tuple: True
Vgrajene metode Tuples
Python ponuja nekaj vgrajenih metod za nabora, kot je opisano v spodnji tabeli.
Metode | Opis |
---|---|
kaj() | Vrne True, če je kateri koli element v naboru, in vrne False, če je nabor prazen |
min () | Vrne najmanjši element (celo število) kompleta |
največ () | Vrne največji element (celo število) kompleta |
len () | Vrne dolžino korita |
razvrščeno () | Uporablja se za razvrščanje vseh elementov Tuple |
vsota () | Vrne vsoto vseh elementov (celih števil) Tuples |
Poglejmo, kako uporabiti vse metode s primerom.
Primer: 1 - katera koli () metoda
Tuple = (3, 1, 4.5) print(“Is there any elements present in Tuple:”, any(Tuple)) Tuple1 = () print(“Is there any elements present in Tuple1:”, any(Tuple1))
Izhod:
Ali so v Tupleju prisotni elementi: True
Ali so v Tuple1: False prisotni elementi
Primer: metoda 2 - min ()
Tuple = (3, 5.6, 5, 8) print(“Smallest element in the tuples is:”, min(Tuple))
Izhod:
Najmanjši element v korušah je: 3
Primer: metoda 3 - max ()
Tuple = (3, 5.6, 5, 8) print(“Largest element in the tuples is:”, max(Tuple))
Izhod:
Največji element v korušah je: 8
Primer: metoda 4 - len ()
Tuple = (3, 5.6, 5, 8) print(“Length of the tuple is:”, len(Tuple))
Izhod:
Dolžina korita je: 4
Primer: metoda 5 - sorted ()
Tuple = (2, 3.5, 1, 6, 4) print(“Sorted integer is:”, sorted(Tuple)) Tuple1 = (‘e’, ‘a’, ‘u’, ‘o’, ‘i’) print(“Sorted character is:”, sorted(Tuple1))
Izhod:
Razvrščeno celo število je: (1, 2, 3,5, 4, 6)
Razvrščeni znak je: ('a', 'e', 'i', 'o', 'u')
Primer: metoda 6 - sum ()
Num = (3, 5.1, 2, 9, 3.5) print('Sum of all the numbers in the tuples is:', sum(Num))
Izhod:
Vsota vseh števil v koritih je: 22.6
Zaključek
Tuple je ena od podatkovnih vrst v Pythonu, ki se imenuje tudi podatkovna struktura.
Python Tuple se uporablja za shranjevanje velikega števila vrednosti vseh podatkovnih vrst v eno samo spremenljivko. Torti so nespremenljivi, zato povečuje učinkovitost dostopa do vrednosti iz korita.
Ko delate s tupi, si morate obvezno zapomniti vse vgrajene metode.
Upam, da bi pridobili neizmerno znanje o konceptu Tuple v Pythonu !!
Priporočeno branje
- Vadnica Python DateTime s primeri
- Vadnica za Python za začetnike (praktično BREZPLAČNO usposabljanje za Python)
- Vadnica za glavne funkcije Pythona s praktičnimi primeri
- Vadnice za globinsko zasenčenje za začetnike
- Funkcije niza Python
- Vadnica za delitev nizov Python
- JAVA Vadnica za začetnike: 100+ praktičnih Javnih video vadnic
- Python spremenljivke