N-tice v Pythonu

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




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)>

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




# 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',),),),),),)