N-tice v Pythone

Python Tuple je zbierka objektov oddelených čiarkami. V niektorých ohľadoch je n-tica podobná zoznamu Python, pokiaľ ide o indexovanie, vnorené objekty a opakovanie, ale hlavný rozdiel medzi oboma je, že n-tica v Pythone je nemenná, na rozdiel od zoznamu Python, ktorý je meniteľný.

Vytváranie n-tic Python

Existujú rôzne spôsoby, ako môžete vytvoriť n-ticu Python . Sú nasledovné:

  • Použitie okrúhlych zátvoriek
  • S jednou položkou
  • Tuple Constructor

Vytvorte n-tice pomocou okrúhlych zátvoriek ()

Na vytvorenie n-tice použijeme operátory ().

Python3




var> => (> 'Geeks'> ,> 'for'> ,> 'Geeks'> )> print> (var)>

Výkon:

('Geeks', 'for', 'Geeks') 

Vytvorte tuple s jednou položkou

Python 3.11 nám poskytuje ďalší spôsob, ako vytvoriť tuple.

Python3




values :> tuple> [> int> |> str> , ...]> => (> 1> ,> 2> ,> 4> ,> 'Geek'> )> print> (values)>

Výkon:

Tu vo vyššie uvedenom úryvku uvažujeme o premennej s názvom value, ktorá obsahuje n-ticu, ktorá pozostáva buď z int alebo str, „…“ znamená, že n-tica bude obsahovať viac ako jeden int alebo str.

(1, 2, 4, 'Geek') 

Poznámka: V prípade, že generujete n-ticu s jedným prvkom, nezabudnite za prvok pridať čiarku. Pozrime sa na príklad toho istého.

Python3




mytuple> => (> 'Geeks'> ,)> print> (> type> (mytuple))> #NOT a tuple> mytuple> => (> 'Geeks'> )> print> (> type> (mytuple))>

Výkon:

Tuple Constructor v Pythone

Na vytvorenie n-tice pomocou konštruktora Tuple odovzdáme prvky ako jej parametre.

Python3




tuple_constructor> => tuple> ((> 'dsa'> ,> 'developement'> ,> 'deep learning'> ))> print> (tuple_constructor)>

Výkon :

('dsa', 'developement', 'deep learning') 

Čo je Immutable v Tuples?

N-tice v Pythone sú podobné ako Python zoznamy ale nie celkom. N-tice sú nemenné a usporiadané a umožňujú duplicitné hodnoty. Niektoré charakteristiky n-tic v Pythone.

  • Položky môžeme nájsť v n-tici, pretože nájdenie akejkoľvek položky nespôsobí zmeny v n-tici.
  • Po vytvorení n-tice nie je možné pridávať položky.
  • N-tice nie je možné pripojiť ani rozšíriť.
  • Po vytvorení nemôžeme položky z n-tice odstrániť.

Pozrime sa na to na príklade.

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ýkon:

Python n-tice sú usporiadané a k ich prvkom môžeme pristupovať pomocou ich indexových hodnôt. Sú tiež nemenné, to znamená, že nemôžeme pridávať, odstraňovať a meniť prvky raz deklarované v n-tici, takže keď sme sa pokúsili pridať prvok na index 1, vygenerovala chyba.

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 

Prístup k hodnotám v Python Tuples

N-tice v Pythone poskytujú dva spôsoby, ktorými môžeme pristupovať k prvkom n-tice.

  • Použitie pozitívneho indexu
  • Použitie negatívneho indexu

Python Access Tuple pomocou pozitívneho indexu

Pomocou hranatých zátvoriek môžeme získať hodnoty z n-tic v Pythone.

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ýkon:

Value in Var[0] = Geeks Value in Var[1] = for Value in Var[2] = Geeks 

Prístup k Tuple pomocou negatívneho indexu

Vo vyššie uvedených metódach používame kladný index na prístup k hodnote v Pythone a tu 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ýkon:

Value in Var[-1] = 3 Value in Var[-2] = 2 Value in Var[-3] = 1 

Rôzne operácie súvisiace s n-ticami

Nižšie sú uvedené rôzne operácie súvisiace s n-ticami v Pythone:

  • Reťazenie
  • Hniezdenie
  • Opakovanie
  • Krájanie
  • Odstraňuje sa
  • Nájdenie dĺžky
  • Viacero dátových typov s n-ticami
  • Konverzia zoznamov na n-tice
  • N-tice v slučke

Reťazenie Python N-tice

Komu Reťazenie z Python Tuples budeme používať operátory plus (+).

Python3




# Code for concatenating 2 tuples> tuple1> => (> 0> ,> 1> ,> 2> ,> 3> )> tuple2> => (> 'python'> ,> 'geek'> )> # Concatenating above two> print> (tuple1> +> tuple2)>

Výkon:

(0, 1, 2, 3, 'python', 'geek') 

Vnorenie n-tic Python

Vnorená n-tica v Pythone znamená n-ticu vo vnútri inej n-tice.

Python3




# Code for creating nested tuples> tuple1> => (> 0> ,> 1> ,> 2> ,> 3> )> tuple2> => (> 'python'> ,> 'geek'> )> tuple3> => (tuple1, tuple2)> print> (tuple3)>

Výkon :

((0, 1, 2, 3), ('python', 'geek')) 

Opakovanie Python N-tice

Môžeme vytvoriť n-ticu viacerých rovnakých prvkov z jedného prvku v tejto n-tici.

Python3




# Code to create a tuple with repetition> tuple3> => (> 'python'> ,)> *> 3> print> (tuple3)>

Výkon:

('python', 'python', 'python') 

Vyskúšajte vyššie uvedené bez čiarky a skontrolujte. Dostanete tuple3 ako reťazec „pythonpythonpython“.

Krájanie n-tic v Pythone

Rozdelenie n-tice Python znamená rozdelenie n-tice na malé n-tice pomocou metódy indexovania.

Python3




# code to test slicing> tuple1> => (> 0> ,> 1> ,> 2> ,> 3> )> print> (tuple1[> 1> :])> print> (tuple1[::> -> 1> ])> print> (tuple1[> 2> :> 4> ])>

Výkon:

V tomto príklade sme rozrezali n-ticu od indexu 1 po posledný prvok. V druhom tlačovom príkaze sme vytlačili n-ticu pomocou spätného indexovania. A v treťom tlačovom príkaze sme vytlačili prvky od indexu 2 po 4.

(1, 2, 3) (3, 2, 1, 0) (2, 3) 

Poznámka: Pri delení v Pythone nie je zahrnutý koncový index.

Odstránenie Tuple v Pythone

V tomto príklade odstraňujeme n-ticu pomocou „ kľúčové slovo del' . Výstup bude vo forme chyby, pretože po odstránení n-tice sa zobrazí NameError.

Poznámka: Odstránenie jednotlivých prvkov n-tice nie je možné, ale pomocou kľúčového slova Del môžeme odstrániť celú n-ticu.

Python3




# Code for deleting a tuple> tuple3> => (> 0> ,> 1> )> del> tuple3> print> (tuple3)>

Výkon:

Traceback (most recent call last): File 'd92694727db1dc9118a5250bf04dafbd.py', line 6, in print(tuple3) NameError: name 'tuple3' is not defined 

Nájdenie dĺžky pythonskej n-tice

Na zistenie dĺžky n-tice môžeme použiť funkciu len() Pythonu a odovzdať n-ticu ako parameter.

Python3




# Code for printing the length of a tuple> tuple2> => (> 'python'> ,> 'geek'> )> print> (> len> (tuple2))>

Výkon:

 2 

Viaceré dátové typy s n-ticou

N-tice v Pythone sú svojou povahou heterogénne. To znamená, že n-tice podporujú prvky s viacerými dátovými typmi.

Python3




# tuple with different datatypes> tuple_obj> => (> 'immutable'> ,> True> ,> 23> )> print> (tuple_obj)>

Výkon :

('immutable', True, 23) 

Konverzia zoznamu na tuple

Môžeme previesť a zoznam v Pythone na n-ticu pomocou konštruktora tuple() a odovzdaním zoznamu ako jeho parametrov.

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ýkon:

N-tice prevezmú jeden parameter, ktorým môže byť zoznam, reťazec, množina alebo dokonca slovník (ako prvky sa berú iba kľúče), a skonvertujú ich na n-ticu.

(0, 1, 2) ('p', 'y', 't', 'h', 'o', 'n') 

N-tice v slučke

Môžeme tiež vytvoriť n-ticu s jedným prvkom pomocou sluč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ýkon:

(('geek',),) ((('geek',),),) (((('geek',),),),) ((((('geek',),),),),) (((((('geek',),),),),),)