Python Tuple je kolekce objektů oddělených čárkami. V některých ohledech je n-tice podobná seznamu Python, pokud jde o indexování, vnořené objekty a opakování, ale hlavní rozdíl mezi oběma je, že n-tice v Pythonu je neměnná, na rozdíl od seznamu Python, který je proměnlivý.
Vytváření n-tic Pythonu
Existují různé způsoby, jak vytvořit n-tici Krajta . Jsou následující:
- Použití kulatých držáků
- S jednou položkou
- Tuple Constructor
Vytvářejte n-tice pomocí kulatých závorek ()
K vytvoření n-tice použijeme operátory ().
Python3
var>=> (>'Geeks'>,>'for'>,>'Geeks'>)> print>(var)> |
>
>
Výstup:
('Geeks', 'for', 'Geeks')> Vytvořte tuple s jedním předmětem
Python 3.11 nám poskytuje další způsob, jak vytvořit Tuple.
Python3
rámec pro kolekce java
values :>tuple>[>int> |>str>, ...]>=> (>1>,>2>,>4>,>'Geek'>)> print>(values)> |
>
>
Výstup:
Zde ve výše uvedeném úryvku uvažujeme proměnnou nazvanou value, která obsahuje n-tici, která se skládá buď z int nebo str, „…“ znamená, že n-tice bude obsahovat více než jeden int nebo str.
(1, 2, 4, 'Geek')>
Poznámka: V případě, že generujete n-tici s jedním prvkem, nezapomeňte za prvek přidat čárku. Podívejme se na příklad téhož.
Python3
mytuple>=> (>'Geeks'>,)> print>(>type>(mytuple))> #NOT a tuple> mytuple>=> (>'Geeks'>)> print>(>type>(mytuple))> |
>
>
Výstup:
>
Tuple Constructor v Pythonu
Pro vytvoření n-tice pomocí konstruktoru Tuple předáme prvky jako její parametry.
Python3
tuple_constructor>=> tuple>((>'dsa'>,>'developement'>,>'deep learning'>))> print>(tuple_constructor)> |
>
>
Výstup :
('dsa', 'developement', 'deep learning')> Co je Immutable v Tuples?
N-tice v Pythonu jsou podobné Seznamy Pythonu ale ne úplně. N-tice jsou neměnné a uspořádané a umožňují duplicitní hodnoty. Některé charakteristiky n-tic v Pythonu.
- Můžeme najít položky v n-tici, protože nalezení jakékoli položky nezpůsobí změny v n-tici.
- Jakmile je n-tice vytvořena, nelze do ní přidávat položky.
- N-tice nelze připojit ani rozšířit.
- Jakmile je n-tice vytvořena, nemůžeme z ní odebrat položky.
Podívejme se na to na příkladu.
Python3
mytuple>=> (>1>,>2>,>3>,>4>,>5>)> # tuples are indexed> print>(mytuple[>1>])> print>(mytuple[>4>])> # tuples contain duplicate elements> mytuple>=> (>1>,>2>,>3>,>4>,>2>,>3>)> print>(mytuple)> # adding an element> mytuple[>1>]>=> 100> print>(mytuple)> |
>
>
Výstup:
Pythonské n-tice jsou seřazeny a k jejich prvkům můžeme přistupovat pomocí jejich indexových hodnot. Jsou také neměnné, tj. nemůžeme přidávat, odebírat a měnit prvky jednou deklarované v n-tice, takže když jsme se pokusili přidat prvek na indexu 1, vygenerovala chybu.
2 5 (1, 2, 3, 4, 2, 3) Traceback (most recent call last): File 'e0eaddff843a8695575daec34506f126.py', line 11, in tuple1[1] = 100 TypeError: 'tuple' object does not support item assignment>
Přístup k hodnotám v Python N-tice
N-tice v Pythonu poskytují dva způsoby, jak získat přístup k prvkům n-tice.
- Použití kladného indexu
- Použití záporného indexu
Python Access Tuple pomocí pozitivního indexu
Pomocí hranatých závorek můžeme získat hodnoty z n-tic v Pythonu.
Python3
var>=> (>'Geeks'>,>'for'>,>'Geeks'>)> print>(>'Value in Var[0] = '>, var[>0>])> print>(>'Value in Var[1] = '>, var[>1>])> print>(>'Value in Var[2] = '>, var[>2>])> |
>
>
Výstup:
Value in Var[0] = Geeks Value in Var[1] = for Value in Var[2] = Geeks>
Přístup k n-tice pomocí záporného indexu
Ve výše uvedených metodách používáme kladný index pro přístup k hodnotě v Pythonu a zde použijeme záporný index v [].
Python3
var>=> (>1>,>2>,>3>)> print>(>'Value in Var[-1] = '>, var[>->1>])> print>(>'Value in Var[-2] = '>, var[>->2>])> print>(>'Value in Var[-3] = '>, var[>->3>])> |
>
>
Výstup:
Value in Var[-1] = 3 Value in Var[-2] = 2 Value in Var[-3] = 1>
Různé operace související s n-ticemi
Níže jsou uvedeny různé operace související s n-ticemi v Pythonu:
- Zřetězení
- Hnízdění
- Opakování
- Krájení
- Mazání
- Zjištění délky
- Více datových typů s n-ticemi
- Převod seznamů na n-tice
- N-tice ve smyčce
Zřetězení Python n-tic
Na Zřetězení z Python Tuples, použijeme operátory plus (+).
Python3
# Code for concatenating 2 tuples> tuple1>=> (>0>,>1>,>2>,>3>)> tuple2>=> (>'python'>,>'geek'>)> # Concatenating above two> print>(tuple1>+> tuple2)> |
>
>
Výstup:
(0, 1, 2, 3, 'python', 'geek')>
Vnoření Python n-tic
Vnořená n-tice v Pythonu znamená n-tice uvnitř jiné n-tice.
Python3
# Code for creating nested tuples> tuple1>=> (>0>,>1>,>2>,>3>)> tuple2>=> (>'python'>,>'geek'>)> tuple3>=> (tuple1, tuple2)> print>(tuple3)> |
>
>
Výstup :
((0, 1, 2, 3), ('python', 'geek'))> Opakování Pythonových ntic
Můžeme vytvořit n-tici více stejných prvků z jednoho prvku v této n-tice.
Python3
# Code to create a tuple with repetition> tuple3>=> (>'python'>,)>*>3> print>(tuple3)> |
df.loc
>
>
Výstup:
('python', 'python', 'python')> Vyzkoušejte výše uvedené bez čárky a zkontrolujte. Získáte tuple3 jako řetězec „pythonpythonpython“.
Krájení n-tic v Pythonu
Rozdělení n-tice Python znamená rozdělení n-tice na malé n-tice pomocí metody indexování.
Python3
# code to test slicing> tuple1>=> (>0> ,>1>,>2>,>3>)> print>(tuple1[>1>:])> print>(tuple1[::>->1>])> print>(tuple1[>2>:>4>])> |
>
>
Výstup:
V tomto příkladu jsme rozřezali n-tici z indexu 1 na poslední prvek. Ve druhém příkazu print jsme vytiskli n-tici pomocí zpětného indexování. A ve třetím tiskovém příkazu jsme vytiskli prvky od indexu 2 do 4.
(1, 2, 3) (3, 2, 1, 0) (2, 3)>
Poznámka: V dělení v Pythonu není poskytnutý koncový index zahrnut.
Odstranění n-tice v Pythonu
V tomto příkladu odstraňujeme n-tici pomocí „ klíčové slovo del' . Výstup bude ve formě chyby, protože po smazání n-tice vydá NameError.
Poznámka: Odstranit jednotlivé prvky n-tice není možné, ale můžeme smazat celou n-tice pomocí klíčového slova Del.
Python3
# Code for deleting a tuple> tuple3>=> (>0>,>1>)> del> tuple3> print>(tuple3)> |
>
>
Výstup:
Traceback (most recent call last): File 'd92694727db1dc9118a5250bf04dafbd.py', line 6, in print(tuple3) NameError: name 'tuple3' is not defined>
Zjištění délky pythonské n-tice
Pro zjištění délky n-tice můžeme použít funkci len() Pythonu a předat n-tici jako parametr.
Python3
# Code for printing the length of a tuple> tuple2>=> (>'python'>,>'geek'>)> print>(>len>(tuple2))> |
>
>
Výstup:
2>
Více datových typů s n-ticí
N-tice v Pythonu jsou ve své podstatě heterogenní. To znamená, že n-tice podporují prvky s více datovými typy.
Python3
katrina kaif
# tuple with different datatypes> tuple_obj>=> (>'immutable'>,>True>,>23>)> print>(tuple_obj)> |
>
>
Výstup :
('immutable', True, 23)> Převod seznamu na n-tici
Můžeme převést a seznam v Pythonu do n-tice pomocí konstruktoru tuple() a předáním seznamu jako jeho parametrů.
Python3
# Code for converting a list and a string into a tuple> list1>=> [>0>,>1>,>2>]> print>(>tuple>(list1))> # string 'python'> print>(>tuple>(>'python'>))> |
>
>
Výstup:
N-tice převezmou jeden parametr, kterým může být seznam, řetězec, sada nebo dokonce slovník (jako prvky se berou pouze klíče), a převedou je na n-tice.
(0, 1, 2) ('p', 'y', 't', 'h', 'o', 'n')> N-tice ve smyčce
Můžeme také vytvořit n-tici s jediným prvkem pomocí smyčky .
Python3
# python code for creating tuples in a loop> tup>=> (>'geek'>,)> # Number of time loop runs> n>=> 5> for> i>in> range>(>int>(n)):> >tup>=> (tup,)> >print>(tup)> |
>
>
Výstup:
(('geek',),) ((('geek',),),) (((('geek',),),),) ((((('geek',),),),),) (((((('geek',),),),),),)>