python tuple tutorial with hands examples
Prozkoumejte koncept Tuple v Pythonu a Tuple vs List v tomto kurzu s příklady:
V Pythonu máme čtyři datové typy sběru, jak je uvedeno níže:
- Seznam
- Soubor
- Slovník
- Tuple
V tomto kurzu se podrobně podíváme na Tuple v Pythonu a jeho různé operace. Nepropásněte naše Celá řada výukových programů pro Python .
V Pythonu je n-tice datovou strukturou a je podobná poli, které se používá k ukládání více dat najednou. Pokud máte zkušenosti s jinými programovacími jazyky, jako je Java, C, C ++ atd., Budete obeznámeni s konceptem polí, takže n-tice je téměř stejná jako pole.
Co se naučíte:
- Co je to Tuple?
- Tuple vs List
- Vytvoření n-tice
- Přístup k hodnotám v Tuple
- Negativní indexování
- Krájení n-tice
- Změna n-tice
- Převod seznamu na řazenou kolekci členů
- Převod n-tice na řetězec
- Třídit Tuple v Pythonu
- Balení a vybalení n-tice
- NamedTuple
- Vrátit Tuple
- Tuple Index mimo rozsah
- Odstranění n-tice
- Základní operace n-tice
- Metody vestavěných n-tic
- Závěr
- Doporučené čtení
Co je to Tuple?
Tuple je datová struktura, která se používá k ukládání více dat najednou. Data uložená v n-tici jsou různorodá, což z ní dělá nejmocnější funkci n-tice v Pythonu. Můžeme uložit více dat různých datových typů, jako jsou String, Integers a objekty, také v jedné n-tici.
N-tice je v Pythonu neměnná, takže data nelze po přiřazení změnit.
K datům uloženým v n-tici se přistupuje pomocí jejich indexu, protože n-tový index bude vždy začínat od nuly. Každý prvek má v n-tici konkrétní místo a ke všem těmto datům se přistupuje pomocí indexu.
Tuple vs List
- Seznam v Pythonu je proměnlivý (hodnoty lze změnit), zatímco Tuple je neměnný (hodnoty nelze změnit)
- Ve srovnání s datovou strukturou seznamu poskytuje n-tice v Pythonu méně funkcí.
- Protože n-tice jsou neměnné, zvyšuje výkon, protože iterace v n-tice je rychlejší ve srovnání se seznamem.
Vytvoření n-tice
Data v n-tici jsou uložena oddělena čárkami a jsou uzavřena v závorce (). Tice mohou obsahovat libovolný počet položek různých typů.
Syntax:
Tuple = (item1, item2, item3)
Příklad: 1
Tuple = ()
Příklad: 2
Tuple = (2, 4, 5.6)
Příklad: 3
Tuple = (2, 5, 4.5, “Hi”)
Příklad: 4
Tuple = (“Hi”, “Hello”, “Python”)
Pokud sledujeme výše uvedené příklady, uložili jsme položky různých datových typů s čárkami, kde 2 a 5 jsou typu Integer, 4.5 je typu float a ‚Hi 'je typu String. Můžeme také deklarovat prázdnou n-tici.
nejlepší nástroj pro správu testovacích případů pro džiru
Můžeme také deklarovat seznam nebo n-tici uvnitř n-tice, a tomu se říká vnořená n-tice.
Příklad: 5
Tuple = (“Python”, (2, 4, 6), (4, 5.6, “Hi”)) print(“Contents of tuple is:”, Tuple)
Výstup:
Obsah n-tice je: („Python“, (2, 4, 6), (4, 5,6, „Ahoj“))
Pokud sledujete výše uvedený příklad, deklarovali jsme seznam a n-tici uvnitř jiné n-tice.
Pokud n-tice obsahuje pouze jeden prvek, nepovažuje se to za n-tici. Měla by to být koncová čárka, která určí tlumočníka, že je to n-tice.
Podívejme se na níže uvedený příklad
Příklad: 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))
Výstup:
Typ my_tuple je:
Typ my_tuple je:
Typ my_tuple je:
Přístup k hodnotám v Tuple
Existuje několik způsobů, jak můžeme přistupovat k položkám přítomným uvnitř n-tice v Pythonu. S pomocí indexu můžeme přistupovat k prvkům n-tice. Index začíná na 0 a index by měl být vždy celé číslo. Pokud použijeme jiný index než celé číslo jako float, bude to mít za následek TypeError.
Příklad: 1
Tuple = (3, 5, 6.7, “Python”) print(“Tuple is:”, Tuple)
Výstup:
Tice je: (3. 5. 6.7, „Python“)
Ve výše uvedeném příkladu jsme n-tici přímo vytiskli pomocí funkce tisku a nepřistupujeme k jednotlivým prvkům n-tice.
Pojďme přistupovat k jednotlivým prvkům n-tice.
Příklad: 2
Tuple = (3, 5, 6.7, “Python”) print(“Third element of the Tuple is:”, Tuple(2))
Výstup:
Třetím prvkem n-tice je: 6.7
Příklad: 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))
Výstup:
První prvek Tuple je: 3
Posledním prvkem n-tice je: ‚Python '
K položkám přítomným ve vnořené n-tici můžeme také přistupovat pomocí vnořeného indexování.
Příklad: 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))
Výstup:
První prvek n-tice je: „y“
Položky přítomné uvnitř jiného seznamu nebo n-tice jsou: 5.6
Jak je uvedeno v Výukový program pro seznam Python hodnoty uvnitř vnořeného seznamu jsou uloženy ve formě matice, podobně Tuple také sleduje stejný koncept.
P y t h o n
2 4 6
4 5.6 Ahoj
Když se tedy pokusíme o přístup k Tuple (0) (1), bude ukazovat na 1Svatýřádek a 2ndsloupec, takže data budou „y“.
Podobně, když se pokusíme získat přístup k seznamu (2) (1), bude ukazovat na 3rdřádek a 2ndsloupec, data budou 5,6
Poznámka:Výše uvedený koncept funguje pouze při pokusu o přístup k položkám n-tice pomocí vnořeného indexování.
Negativní indexování
K datům můžeme přistupovat také pomocí negativního indexu. Záporný index bude vždy začínat od -1 a -1 odkazuje na poslední prvek a -2 odkazuje na poslední druhou položku, a tedy spolu.
Vždy si pamatujte, že pozitivní indexování se používá k iteraci položek n-tice dopředu, zatímco negativní indexování následuje zpět.
Příklad: 1
Tuple = (3, 5, 7.8) print(“Last element of the tuple is:”, Tuple(-1))
Výstup:
Poslední prvek n-tice je: 7.8
Příklad: 2
Tuple = (3, 5, 7.8) print(“First element of the tuple is:”, Tuple(-3))
Výstup:
První prvek n-tice je: 3
Krájení n-tice
Pomocí operátoru řezu (:) můžeme získat přístup k řadě prvků z n-tice.
Příklad: 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(:))
Výstup:
tisknout pole v opačném pořadí java
Prvky od 2. do 5. je: (2,5, 3, 4,9, 5)
Prvky začínající na 4. je: (1, 2,5, 3, 4,9)
Prvky od 4. do konce jsou: (4.9, 5, 6, ‚Python ')
Prvky od začátku do konce jsou: (1, 2,5, 3, 4,9, 5, 6, „Python“)
Můžeme také přistupovat k prvkům přítomným v n-tici pomocí smyčky for.
Příklad: 2
Tuple = (3, 5, 7.8) print(“First element of the tuple is:”, Tuple(-3))
Výstup:
jeden
dva
3.5
5
'Ahoj'
Změna n-tice
Jak víme, n-tice jsou v Pythonu neměnné, data tedy nelze měnit, ale seznamy jsou měnitelné. Lze tedy měnit seznamy přítomné uvnitř n-tic (vnořené n-tice).
Příklad: 1
Tuple = (3, 4.5, (4, 5, 6)) print(“Original Tuple is:”, Tuple) Tuple(2)(0) = 2 print(“Updated Tuple is:”, Tuple)
Výstup:
Původní n-tice je: (3, 4,5, (4, 5, 6))
Aktualizovaná řazená kolekce členů je: (3, 4,5, (2, 5, 6))
V T-tice nemůžeme použít funkci append () nebo extend (), protože n-tice jsou neměnné. Nelze také použít funkci remove () nebo pop ().
Převod seznamu na řazenou kolekci členů
Seznam můžeme převést na Tuple pomocí vestavěné funkce Pythonu zvané tuple ().
Syntax:
tuple(arg1)
Funkce Tuple () přijímá jeden argument a argumentem by měl být název proměnné seznamu.
Příklad: 1
List = (2, 4, 5.6, “Hi”) print(“Original List is:”, List) Tuple = tuple(List) print(“After converting to tuple is:”, Tuple)
Výstup:
Původní seznam je: (2, 4, 5,6, „Ahoj“)
Po převodu na n-tici je: (2, 4, 5,6, „Ahoj“)
Převod n-tice na řetězec
Můžeme také převést Tuple na String pomocí 2 způsobů.
Přístup: 1
Pomocí vestavěné metody join () ze Stringu můžeme převést Tuple na String.
Příklad: 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)
Výstup:
Před převodem na řetězec: („P“, „y“, „t“, „h“, „o“, „n“)
Po převodu na řetězec: „Python“
Přístup: 2
Metoda redukovat () z functools se používá k převodu Tuple na String. Tato metoda zřetězí znak přítomný v n-tici a vytvoří řetězec.
Příklad: 2
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)
Výstup:
Před převodem na řetězec: („P“, „y“, „t“, „h“, „o“, „n“)
Po převodu na řetězec: „Python“
Poznámka: Tuple můžete převést na String pouze v případě, že Tuple obsahuje znaky. Pokud n-tice obsahuje jednu položku typu integer nebo float, vyvolá chybu.
Příklad: 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)
Výstup:
Před převodem na řetězec: („P“, „y“, „t“, „h“, „o“, „n“, 4, 6,5)
Traceback (poslední hovor poslední):
Soubor „“, řádek 1, v
str = ”.join (n-tice)
TypeError: položka sekvence 6: očekávaná str instance, int nalezen
Třídit Tuple v Pythonu
V pythonu máme vestavěnou funkci nazvanou seřazené (), která seřadí prvky n-tice.
Syntax:
sorted(arg1)
Metoda seřazeno () přijímá jeden argument, kterým je název proměnné.
Příklad: 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)
Výstup:
Před tříděním je Tuple: (2, 4, 6, 1, 4, 7,8, 2,7)
Po seřazení je Tuple: (1, 2, 2,7, 4, 4, 6, 7,8)
Balení a vybalení n-tice
Python poskytuje důležitou funkci zvanou balení a rozbalení. V balení vložíme hodnotu do n-tice, ale při rozbalování extrahujeme všechny tyto hodnoty uložené v n-ticích do proměnných.
Příklad: 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)
Výstup:
Zabalená n-tice je: („John“, 23567, „softwarový inženýr“)
Jméno zaměstnance je: John
ID zaměstnance je: 23567
Název zaměstnance je: Softwarový inženýr
Pokud si všimnete ve výše uvedeném případě v řádku číslo 2, rozbalujeme n-tici do některých proměnných.
Poznámka: Počet položek v n-tici by se měl rovnat počtu proměnných v rozbalené n-tici.
NamedTuple
Python poskytuje speciální typ funkce s názvem namedtuple (), která pochází z modulu kolekce.
Pojmenované n-tice jsou podobné slovníku, který obsahuje klíče a hodnoty. Rozdíl je však v tom, že ve slovníku můžeme k hodnotě přistupovat pouze pomocí klíče, ale NamedTuple podporuje přístup z hodnoty i klíče.
Existují tři způsoby, kterými můžeme přistupovat k hodnotám nemaedtuple ().
- Přístup indexem
- Přístup pomocí klíče
- Přístup metodou getattr ()
Příklad: 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’))
Výstup:
Jméno zaměstnance je: John
ID zaměstnance je: 23567
Název zaměstnance je: Softwarový inženýr
Pro funkci namedtuples () máme také podporovány tři operace převodu.
- _udělat()
- _asdict ()
- ** (Dvojitý start) operátor
Příklad: 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))
Výstup:
Zaměstnanec (name = ‘Mathew’, ID = ’45783 ′, Title =‘ Software Developer ’)
OrderedDict (((„name“, „John“), („ID“, „23567“), („Title“, „Software Engineer“)))
Zaměstnanec (jméno = „Helen“, ID = 56873, titul = „testovací olovo“)
Vrátit Tuple
Můžeme vrátit kolekci hodnot nebo n-tic pomocí příkazu return.
Příklad: 1
def my_fun(): name = “John” ID = 23567 Title = “Software Engineer” return (name, ID, Title) employee = my_fun() print(“Employee detail is:”, employee)
Výstup:
Podrobnosti o zaměstnanci jsou: („John“, 23567, „softwarový inženýr“)
Tuple Index mimo rozsah
Index mimo rozsah je jednou z běžných výjimek, které získáme při práci s Tuples nebo seznamem. K této výjimce obvykle dochází, když se pokusíte o přístup k položce mimo n-tici, rozsah, což znamená, že pokud n-tice obsahují pouze 3 prvky, a pokud se pokusíte o přístup k 4thprvek pak získá index n-tice mimo výjimku rozsahu.
Příklad: 1
Tuple = (4, 7, 1.2, “Hi”) print(Tuple(4))
Výstup:
Traceback (poslední hovor poslední):
Soubor „“, řádek 1, v
Tuple (4)
IndexError: n-tice index mimo rozsah
Pokud pozorujete ve výše uvedeném příkladu, pokoušíme se získat přístup k prvku, který je přítomen v 5thpozice, ale není tam žádný prvek, takže vyhodí n-tici index mimo rozsah výjimky.
Odstranění n-tice
Nemůžeme odstranit jednotlivé prvky z n-tice, protože n-tice jsou neměnné. Jediným způsobem, jak odstranit prvky z n-tice, je odstranit celou n-tici.
Python poskytuje vestavěnou funkci „del“ pro smazání celé n-tice.
Příklad: 1
Tuple = (2, 4.5, “Python”) print(“Before deleting the tuple:”, Tuple) del Tuple print(“After Deleting the tuple:”, Tuple)
Výstup:
Před odstraněním n-tice: (2, 4.5, „Python“)
Traceback (poslední hovor poslední):
Soubor „“, řádek 1, v
tisk („Po odstranění n-tice:“, n-tice)
NameError: název „Tuple“ není definován
Ve výše uvedeném příkladu se po odstranění n-tice pokoušíme n-tici vytisknout, ale již neexistuje. Proto to hodí NameError.
Základní operace n-tice
Pomocí n-tic můžeme provádět některé základní operace, jako je zřetězení, opakování atd.
Podívejme se na všechny základní operace s několika příklady.
Příklad: 1 - řazená řazená kolekce členů
N-tice můžeme zřetězit pomocí operátoru „+“.
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)
Výstup:
Tuple 1 is: (3, 5, „Hi“)
Tice 2 je: (5,6, 1, „Python“)
Zřetězení Tuple 1 a Tuple 2 je: (3, 5, „Hi“, 5,6, 1, „Python“)
Příklad: 2 - Opakování n-tice
Opakování n-tice znamená opakování prvků n-tice několikrát. Toho lze dosáhnout pomocí operátoru „*“.
Tuple = (3, 1, 5.6, “Python”) print(“Before the repetition the tuple is:”, Tuple) print(“After the repetition the tuple is:”, Tuple*3)
Výstup:
jaký je dobrý převodník z youtube na mp3
Před opakováním je n-tice: (3, 1, 5,6, „Python“)
Po opakování je n-tice: (3, 1, 5,6, „Python“, 3, 1, 5,6, „Python“, 3, 1, 5,6, „Python“)
Příklad: 3 - Provozovatel členství
Pomocí operátoru „in“ můžeme zkontrolovat, zda je v Tuple přítomen určitý prvek. Vrátí logickou hodnotu True, pokud je prvek přítomen v n-tici, a vrátí False, pokud prvek není přítomen.
Tuple = (3, 2, 6) print(“Is element 2 present in Tuple:”, 2 in Tuple)
Výstup:
Je prvek 2 přítomen v Tuple: True
Metody vestavěných n-tic
Python poskytuje několik vestavěných metod pro n-tice, jak je popsáno v následující tabulce.
Metody | Popis |
---|---|
žádný() | Vrátí True, pokud je v n-tici nějaký prvek, a vrátí False, pokud je n-tice prázdná |
min () | Vrátí nejmenší prvek (celé číslo) n-tice |
max () | Vrátí největší prvek (celé číslo) n-tice |
jen () | Vrátí délku n-tice |
seřazeno () | Slouží k třídění všech prvků n-tice |
součet() | Vrátí součet všech prvků (celých čísel) n-tic |
Podívejme se, jak použít všechny metody s příkladem.
Příklad: 1 - libovolná () 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))
Výstup:
Jsou v Tuple: True nějaké prvky?
Jsou v Tuple1: False nějaké prvky?
Příklad: metoda 2 - min ()
Tuple = (3, 5.6, 5, 8) print(“Smallest element in the tuples is:”, min(Tuple))
Výstup:
Nejmenší prvek v n-tice je: 3
Příklad: metoda 3 - max ()
Tuple = (3, 5.6, 5, 8) print(“Largest element in the tuples is:”, max(Tuple))
Výstup:
Největší prvek v n-tice je: 8
Příklad: metoda 4 - len ()
Tuple = (3, 5.6, 5, 8) print(“Length of the tuple is:”, len(Tuple))
Výstup:
Délka n-tice je: 4
Příklad: metoda 5 - tříděné ()
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))
Výstup:
Seřazené celé číslo je: (1, 2, 3,5, 4, 6)
Řazený znak je: („a“, „e“, „i“, „o“, „u“)
Příklad: metoda 6 - sum ()
Num = (3, 5.1, 2, 9, 3.5) print('Sum of all the numbers in the tuples is:', sum(Num))
Výstup:
Součet všech čísel v n-ticích je: 22.6
Závěr
Tuple je jedním z datových typů v Pythonu, který se také označuje jako datová struktura.
Python Tuple se používá k ukládání velkého počtu hodnot libovolných datových typů do jedné proměnné. N-tice jsou neměnné, a proto zvyšuje výkon přístupu k hodnotám z n-tice.
Když pracujete s n-ticemi, je nutné si pamatovat všechny vestavěné metody n-tic.
Doufám, že byste v Pythonu získali obrovské znalosti o konceptu Tuple !!
Doporučené čtení
- Výukový program Python DateTime s příklady
- Výukový program pro Python pro začátečníky (praktické školení v Pythonu ZDARMA)
- Výukový program pro hlavní funkce Pythonu s praktickými příklady
- Výukové programy pro zatmění do hloubky pro začátečníky
- Funkce řetězce Python
- Výukový program pro rozdělení řetězce Python
- Výukový program JAVA pro začátečníky: 100+ praktických výukových programů Java Video
- Proměnné Pythonu