Krotki w Pythonie

Python Tuple to zbiór obiektów oddzielonych przecinkami. Pod pewnymi względami krotka jest podobna do listy w Pythonie pod względem indeksowania, zagnieżdżania obiektów i powtarzania, ale główna różnica między obydwoma jest taka, że ​​krotka w Pythonie jest niezmienna, w przeciwieństwie do listy w Pythonie, która jest zmienna.

Tworzenie krotek Pythona

Krotkę można utworzyć na różne sposoby Pyton . Są one następujące:

  • Używanie nawiasów okrągłych
  • Z jednym przedmiotem
  • Konstruktor krotki

Utwórz krotki za pomocą nawiasów okrągłych ()

Aby utworzyć krotkę, użyjemy operatorów ().

Python3




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

Wyjście:

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

Utwórz krotkę z jednym elementem

Python 3.11 zapewnia nam inny sposób tworzenia krotki.

Python3




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

Wyjście:

Tutaj, w powyższym fragmencie, rozważamy zmienną zwaną wartościami, która przechowuje krotkę składającą się z int lub str, „…” oznacza, że ​​krotka będzie zawierać więcej niż jedną int lub str.

(1, 2, 4, 'Geek') 

Notatka: Jeśli generujesz krotkę z pojedynczym elementem, pamiętaj o dodaniu przecinka po elemencie. Zobaczmy przykład tego samego.

Python3




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

Wyjście:

Konstruktor krotek w Pythonie

Aby utworzyć krotkę za pomocą konstruktora Tuple, przekażemy elementy jako jej parametry.

Python3




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

Wyjście :

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

Co jest niezmienne w krotkach?

Krotki w Pythonie są podobne do Listy Pythona ale nie całkowicie. Krotki są niezmienne i uporządkowane oraz pozwalają na powielanie wartości. Niektóre cechy krotek w Pythonie.

  • Możemy znaleźć elementy w krotce, ponieważ znalezienie dowolnego elementu nie powoduje zmian w krotce.
  • Nie można dodawać elementów do krotki po jej utworzeniu.
  • Krotek nie można dołączać ani rozszerzać.
  • Nie możemy usunąć elementów z krotki po jej utworzeniu.

Zobaczmy to na przykładzie.

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

Wyjście:

Krotki Pythona są uporządkowane i możemy uzyskać dostęp do ich elementów za pomocą ich wartości indeksu. Są one również niezmienne, tj. nie możemy dodawać, usuwać ani zmieniać elementów raz zadeklarowanych w krotce, więc gdy próbowaliśmy dodać element o indeksie 1, wygenerował błąd.

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 

Dostęp do wartości w krotkach Pythona

Krotki w Pythonie udostępniają dwa sposoby dostępu do elementów krotki.

  • Korzystanie z indeksu dodatniego
  • Używanie indeksu ujemnego

Python Access Tuple przy użyciu dodatniego indeksu

Używając nawiasów kwadratowych, możemy uzyskać wartości z krotek w Pythonie.

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

Wyjście:

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

Uzyskaj dostęp do krotki przy użyciu indeksu ujemnego

W powyższych metodach używamy indeksu dodatniego, aby uzyskać dostęp do wartości w Pythonie, a tutaj użyjemy indeksu ujemnego w obrębie [].

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

Wyjście:

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

Różne operacje związane z krotkami

Poniżej znajdują się różne operacje związane z krotkami w Pythonie:

  • Powiązanie
  • Zagnieżdżanie
  • Powtórzenie
  • Krajanie na plastry
  • Usuwanie
  • Znalezienie długości
  • Wiele typów danych z krotkami
  • Konwersja list na krotki
  • Krotki w pętli

Łączenie krotek Pythona

Do Powiązanie krotek Pythona będziemy używać operatorów plus(+).

Python3




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

Wyjście:

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

Zagnieżdżanie krotek Pythona

Zagnieżdżona krotka w Pythonie oznacza krotkę wewnątrz innej krotki.

Python3




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

Wyjście :

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

Powtarzanie krotek Pythona

Możemy utworzyć krotkę wielu takich samych elementów z pojedynczego elementu w tej krotce.

Python3




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

Wyjście:

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

Wypróbuj powyższe bez przecinka i sprawdź. Otrzymasz krotkę3 jako ciąg „pythonpythonpython”.

Krojenie krotek w Pythonie

Dzielenie krotki Pythona oznacza dzielenie krotki na małe krotki przy użyciu metody indeksowania.

Python3




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

Wyjście:

W tym przykładzie przecięliśmy krotkę od indeksu 1 do ostatniego elementu. W drugiej instrukcji print wydrukowaliśmy krotkę przy użyciu odwrotnego indeksowania. W trzeciej instrukcji print wydrukowaliśmy elementy od indeksu 2 do 4.

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

Notatka: W przypadku krojenia w Pythonie podany indeks końcowy nie jest uwzględniany.

Usuwanie krotki w Pythonie

W tym przykładzie usuwamy krotkę za pomocą „ słowo kluczowe del . Dane wyjściowe będą miały postać błędu, ponieważ po usunięciu krotki zwróci błąd NameError.

Notatka: Usunięcie pojedynczych elementów krotki nie jest możliwe, ale możemy usunąć całą krotkę za pomocą słowa kluczowego Del.

Python3




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

Wyjście:

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

Znajdowanie długości krotki Pythona

Aby znaleźć długość krotki, możemy użyć funkcji len() Pythona i przekazać krotkę jako parametr.

Python3




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

Wyjście:

 2 

Wiele typów danych z krotką

Krotki w Pythonie mają charakter heterogeniczny. Oznacza to, że krotki obsługują elementy z wieloma typami danych.

Python3




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

Wyjście :

('immutable', True, 23) 

Konwersja listy na krotkę

Możemy przekonwertować a lista w Pythonie do krotki, używając konstruktora tuple() i przekazując listę jako jej parametry.

Python3




# Code for converting a list and a string into a tuple> list1> => [> 0> ,> 1> ,> 2> ]> print> (> tuple> (list1))> # string 'python'> print> (> tuple> (> 'python'> ))>

Wyjście:

Krotki przyjmują pojedynczy parametr, którym może być lista, ciąg znaków, zestaw lub nawet słownik (tylko klucze są traktowane jako elementy) i konwertują je na krotkę.

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

Krotki w pętli

Możemy również utworzyć krotkę zawierającą pojedynczy element, używając pętle .

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

Wyjście:

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