Dowiedz się więcej o funkcji krotek w Pythonie [z przykładami]

Opublikowany: 2020-03-20

Krotki to sekwencje lub zbiór obiektów oddzielonych przecinkami. Pod wieloma względami są one podobne do list, z wyjątkiem tego, że elementy nie mogą być zmieniane po ich utworzeniu. I w przeciwieństwie do list, krotki w Pythonie są obiektami niezmiennymi. Ponadto używają nawiasów, a nie nawiasów kwadratowych.

Tworzenie krotki jest tak proste, jak umieszczanie wartości oddzielonych przecinkami, czasami w nawiasach. Oto kilka przykładów:

  • tup1 = ( 'angielski', 'hindi', 1998, 2016)
  • tup2 = „c”, „d”, „e”, „f”
  • tup3 = (5, 6, 7, 8, 9)

Jak widać, krotka może mieć dowolną liczbę elementów i mogą one być różnego typu – liczba całkowita, lista, łańcuch i tak dalej. Używanie nawiasów jest opcjonalne, ale uważane za dobrą praktykę do naśladowania. Teraz zagłębimy się w konkrety.

Jeśli jesteś początkującym i chcesz dowiedzieć się więcej na temat nauki o danych, zapoznaj się z naszą certyfikacją w zakresie nauki o danych wydawaną przez najlepsze uniwersytety.

Przeczytaj o: Operatory w Pythonie

Spis treści

Krotki w Pythonie

1. Tworzenie krotki

Pusta krotka składa się z dwóch nawiasów bez niczego w środku, czyli (). Oto jak to tworzysz:

pusty _tup = ()

drukuj (pusty_tup)

#Wyjście

()

Zobaczmy teraz, jak możemy utworzyć niepuste krotki. Tworzenie krotek bez nawiasów nazywamy pakowaniem krotek.

tup='mysz', 'klawiatura'

drukuj(tup)

#Wyjście

(„mysz”, „klawiatura”)

Alternatywnie możesz użyć nawiasów dla tego samego wyjścia.

tup= ('mysz', 'klawiatura')

drukuj(tup)

#Wyjście

('mysz', klawiatura')

W przypadku jednoelementowej krotki samo umieszczenie jednego składnika w nawiasach nie zadziała. Będziesz musiał dołączyć końcowy przecinek, aby wskazać, że jest to krotka. Rozważmy następujący przykład.

tup=(50,)

2. Łączenie, zagnieżdżanie i powtarzanie

Aby połączyć dwie krotki w python , możesz napisać następujący kod:

mój_tup=(0,1,2,3,4,5)

your_tup=('cześć', 'cześć')

drukuj(moja_tup + twoja_tup)

#Wyjście

(0,1,2,3,4,5, 'cześć', 'do widzenia')

Poniżej znajduje się kod do tworzenia zagnieżdżonych krotek:

tup1=(0,1,2)

tup2=('python', 'nauka')

tup3=(tup1, tup2)

drukuj(tup3)

#Wyjście

((0,1,2),('python','nauka'))

Aby utworzyć krotkę z powtórzeniem, wykonaj następujące czynności:

new_tup=('cześć',)*4

drukuj(nowa_tup)

#Wyjście

('cześć', 'cześć', 'cześć', 'cześć')

Pisząc powyższy kod bez przecinków, otrzymasz ciąg znaków hihihihi jako wynik dla new_tup.

Przeczytaj: 5 najlepszych modułów Pythona

3. Dostęp do krotek

Aby uzyskać dostęp do wartości w krotce, użyj nawiasów kwadratowych z indeksem. Skorzystaj z poniższego kodu, aby przetestować krojenie.

krotka=(0,1,2,3)

drukuj(krotka[1:])

print(krotka[::-1])

drukuj(krotka[2:4])

#Wyjście

(1,2,3)

(3,2,1,0)

(2,3)

4. Radzenie sobie z niezmiennością

Nie można aktualizować ani zmieniać wartości elementów, ale można tworzyć nowe krotki, biorąc części istniejących krotek, jak pokazano w poniższym przykładzie.

krotka1=('ab', 'xy')

krotka2=(13,14)

#akcja nieprawidłowa dla krotek

#tuple1[0]=50

#Tworzenie nowej krotki

krotka3=krotka1+krotka2

drukuj krotka3

#Wyjście

('ab', 'xy', 13, 14)

Podobnie nie można usuwać pojedynczych elementów w krotkach, ponieważ są one niezmienne. Możesz jednak złożyć kolejną krotkę, aby odrzucić niepożądane składniki. I możesz usunąć całą krotkę, używając jawnie instrukcji del.

tuple1=('styczeń', luty')

del krotka1

Przeczytaj także: Wynagrodzenie programisty Pythona w Indiach

Podstawowe operacje na krotkach

Istnieje wiele wbudowanych funkcji krotek w Pythonie, takich jak len(), cmp(), max(), min() i tuple(seq). Zademonstrujmy ich zastosowanie jeden po drugim.

  • Znajdowanie długości krotki

moja_tuple = ('aktualizacja', 'python')

print(len(moja_krotka))

#Wyjście

2

  • Porównywanie elementów

tup1 = ('aktualizacja','python')

tup2 = ('koder', 1)

if (cmp(tup1, tup2) != 0):

# cmp() zwraca 0 jeśli pasuje, 1 jeśli nie tup1

# jest dłuższe, a -1, gdy tup1 jest krótsze

print('Nie to samo')

w przeciwnym razie:

print('Taki sam')

#Wyjście

Nie ten sam

  • Wartości maksymalne i minimalne

print ('Maksymalny element w krotkach 1,2: ' + str(max(tup1)) + ',' + str(max(tup2)))

print ('Minimalny element w krotkach 1,2: ' + str(min(tup1)) + ',' + str(min(tup2)))

#Wyjście

Maksymalny element w krotkach 1,2: upgrad,coder

Minimalny element w krotkach 1,2: python,1

Zauważysz, że kontrole max() i min() są oparte na wartościach ASCII. W przypadku dwóch ciągów w krotce python sprawdza pierwsze różne znaki w ciągach.

  • Konwertowanie list i ciągów na krotki

lista1 = [0, 1, 2,3]

drukuj(krotka(lista1))

print(tuple('upgrad')) # string 'upgrad'

#Wyjście

(0,1,2,3)

(„u”, „p”, „g”, „r”, „a”, „d”)

Tutaj pojedynczy parametr, taki jak lista, ciąg znaków, zestaw, klucz słownika, jest pobierany i konwertowany na krotkę.

Jak utworzyć krotkę w pętli

Przejdźmy teraz do tworzenia krotek w pętli. Aby to zrobić, możesz postępować zgodnie z następującym kodem Pythona.

krotka=('python',)

n=3 #Ile razy pętla działa

lub i w zakresie (int(n)):

krotka=(krotka,)

Drukuj krotkę

#Wyjście

(('pyton',),)

((('pyton',),),)

(((('pyton',),),),)

Jak widać, istnieją różne sposoby tworzenia krotki i iterowania po niej.

Przewaga nad listami

Listy i krotki w Pythonie są zwykle używane w podobnych sytuacjach. Ale krotki są preferowane w stosunku do list z różnych powodów. Niektóre z nich wymieniono poniżej.

  • Krotki są używane do heterogenicznych typów danych. Z drugiej strony listy są bardziej odpowiednie dla jednorodnych typów danych.
  • Krotki zapewniają wzrost wydajności, ponieważ ich iteracja jest szybsza w porównaniu z listami. Wynika to z ich niezmiennej natury.
  • Możesz przejść do implementacji krotki, aby chronić swoje dane przed zapisem.
  • Niezmienne elementy mogą być używane jako klucz słownikowy.

Wniosek

W tym artykule zrozumieliśmy wszystko na temat krotek w Pythonie , od tego, czym są i jak je tworzyć, po różne operacje i korzyści. Te informacje z pewnością przydadzą się, gdy będziesz podążać naprzód w swojej podróży edukacyjnej Pythona!

Jeśli czytasz ten artykuł, najprawdopodobniej masz ambicje zostać programistą Pythona. Jeśli jesteś zainteresowany nauką Pythona i chcesz pobrudzić sobie ręce różnymi narzędziami i bibliotekami, zapoznaj się z programem Executive PG w dziedzinie nauki o danych .

Jakie są cechy krotek w Pythonie?

W Pythonie krotka jest uporządkowaną kolekcją obiektów, której nie można zmienić. Tutaj obiekty w Pythonie mogą być liczbami całkowitymi, krotkami, listami, łańcuchami itp. Kolejność wstawiania jest zachowywana, ponieważ wyświetlanie danych wyjściowych będzie zależne od kolejności wstawiania elementów. Krotki są niezmienne i nie można modyfikować obiektów po ich dodaniu do krotki. Krotki mogą przechowywać zarówno te same, jak i różne typy obiektów. Indeksowanie odgrywa ważną rolę w krotkach. Duplikaty można przechowywać w krotkach. W krotkach można używać zarówno indeksów dodatnich, jak i ujemnych, gdzie dodatni indeks odnosi się do kierunku do przodu, a ujemny indeks do kierunku do tyłu. Musisz użyć przecinka jako separatora do oddzielania obiektów w krotce.

Czy w krotkach są wbudowane metody?

Tak, w krotkach dostępne są dwie wbudowane metody. Krotki są niezmienne i nie możesz zmieniać obiektów w krotce po ich dodaniu. Obiekt krotki może wywołać dwie dostępne metody wbudowane, którymi są count() i index(). count() zwróci liczbę wystąpień określonej wartości w całej krotce. index() przeszuka całą krotkę pod kątem określonej wartości, a także zwróci pozycję, w której ta wartość została znaleziona.

Dlaczego krotki są szybsze niż listy w Pythonie?

W Pythonie istnieją obiekty mutowalne i niezmienne, gdzie listy należą do zmiennych, a krotki należą do niezmiennych. Krotki są przechowywane w jednym bloku pamięci i nie jest wymagane dodatkowe miejsce na przechowywanie nowych obiektów.

Z drugiej strony listy są alokowane w dwóch blokach, z których jeden przechowuje informacje o obiekcie, a drugi blok ma zmienny rozmiar do dodawania nowych danych. To jest główny powód, dla którego krotki są szybsze niż listy w Pythonie. To kolejny powód, dla którego indeksowanie jest szybsze w krotkach w porównaniu z listami.