python tuple tutorial with hands examples
Poznaj koncepcję krotki w Pythonie i krotki vs lista w tym samouczku z przykładami:
W Pythonie mamy cztery typy danych kolekcji, jak wspomniano poniżej:
- Lista
- Zestaw
- Słownik
- Tuple
W tym samouczku przyjrzymy się bliżej Tuple w Pythonie i jego różnym operacjom. Nie przegap naszej Cały zakres samouczków Python .
W Pythonie krotka jest strukturą danych i jest podobna do tablicy, która służy do przechowywania wielu danych jednocześnie. Jeśli masz doświadczenie w innych językach programowania, takich jak Java, C, C ++ itp., Będziesz zaznajomiony z pojęciem tablic, więc krotka jest prawie taka sama jak tablice.
Czego się nauczysz:
- Co to jest krotka?
- Krotka vs lista
- Tworzenie krotki
- Dostęp do wartości w krotce
- Indeksowanie ujemne
- Cięcie krotki
- Zmiana krotki
- Konwertowanie listy na krotkę
- Konwersja krotki na ciąg
- Sortuj krotki w Pythonie
- Pakowanie i rozpakowywanie krotki
- NamedTuple
- Zwróć krotkę
- Indeks krotki poza zakresem
- Usuwanie krotki
- Podstawowe operacje krotki
- Wbudowane metody krotek
- Wniosek
- rekomendowane lektury
Co to jest krotka?
Krotka to struktura danych używana do jednoczesnego przechowywania wielu danych. Dane przechowywane w krotce są niejednorodne, co sprawia, że jest to najpotężniejsza funkcja krotki w Pythonie. W jednej krotce możemy przechowywać wiele danych różnych typów danych, takich jak ciągi, liczby całkowite i obiekty.
Krotka jest niezmienna w Pythonie, dlatego danych nie można zmienić po ich przypisaniu.
Dostęp do danych przechowywanych w krotce uzyskuje się przy użyciu ich indeksu, ponieważ indeks krotki zawsze zaczyna się od zera. Każdy element ma określone miejsce w krotce i wszystkie te dane są dostępne za pomocą indeksu.
Krotka vs lista
- Lista w Pythonie jest zmienna (wartości można zmieniać), natomiast krotka jest niezmienna (wartości nie można zmieniać)
- W porównaniu do struktury danych listy krotka zapewnia mniej funkcji w Pythonie.
- Ponieważ krotki są niezmienne, zwiększa to wydajność, ponieważ iterowanie krotki jest szybsze w porównaniu z listą.
Tworzenie krotki
Dane w krotce są oddzielane przecinkami i zawarte w nawiasach kwadratowych (). Krotki mogą zawierać dowolną liczbę elementów różnych typów.
Składnia:
Tuple = (item1, item2, item3)
Przykład 1
Tuple = ()
Przykład: 2
Tuple = (2, 4, 5.6)
Przykład: 3
Tuple = (2, 5, 4.5, “Hi”)
Przykład: 4
Tuple = (“Hi”, “Hello”, “Python”)
Jeśli przyjrzymy się powyższym przykładom, przechowujemy elementy różnych typów danych z oddzielonymi przecinkami, gdzie 2 i 5 są typu Integer, 4.5 to typ float, a „Hi” jest typu String. Możemy również zadeklarować pustą krotkę.
jak otworzyć plik binarny w systemie Windows
Możemy również zadeklarować listę lub krotkę wewnątrz krotki i nazywa się to krotką zagnieżdżoną.
Przykład: 5
Tuple = (“Python”, (2, 4, 6), (4, 5.6, “Hi”)) print(“Contents of tuple is:”, Tuple)
Wynik:
Zawartość krotki to: („Python”, (2, 4, 6), (4, 5.6, „Cześć”))
Jeśli obserwujesz powyższy przykład, zadeklarowaliśmy listę i krotkę wewnątrz innej krotki.
Jeśli krotka zawiera tylko jeden element, nie jest traktowana jako krotka. Powinien być końcowym przecinkiem, aby określić tłumacza, że jest to krotka.
Zobaczmy w poniższym przykładzie
Przykład: 6
my_tuple = (“Python”) Print(“Type of my_tuple is:”, type(my_tuple)) my_tuple = (10) Print(“Type of my_tuple is:”, type(my_tuple)) my_tuple = (“Python”, ) Print(“Type of my_tuple is:”, type(my_tuple))
Wynik:
Typ my_tuple to:
Typ my_tuple to:
Typ my_tuple to:
Dostęp do wartości w krotce
Istnieje kilka sposobów uzyskania dostępu do elementów znajdujących się wewnątrz krotki w Pythonie. Za pomocą indeksu możemy uzyskać dostęp do elementów krotki. Indeks zaczyna się od 0, a indeks powinien zawsze być liczbą całkowitą. Jeśli użyjemy indeksu innego niż liczba całkowita, na przykład float, spowoduje to TypeError.
Przykład 1
Tuple = (3, 5, 6.7, “Python”) print(“Tuple is:”, Tuple)
Wynik:
Krotka to: (3. 5. 6.7, „Python”)
W powyższym przykładzie bezpośrednio wydrukowaliśmy krotkę za pomocą funkcji print i nie mamy dostępu do poszczególnych elementów krotki.
Przejdźmy do poszczególnych elementów krotki.
Przykład: 2
Tuple = (3, 5, 6.7, “Python”) print(“Third element of the Tuple is:”, Tuple(2))
Wynik:
Trzeci element krotki to: 6.7
Przykład: 3
Tuple = (3, 5, 6.7, “Python”) print(“First element of the Tuple is:”, Tuple(0)) print(“Last element of the Tuple is:”, Tuple(3))
Wynik:
Pierwszy element krotki to: 3
Ostatni element krotki to: „Python”
Możemy również uzyskać dostęp do elementów obecnych w zagnieżdżonej krotce za pomocą zagnieżdżonego indeksowania.
Przykład: 4
Tuple = (“Python”, (2, 4, 6), (4, 5.6, “Hi”)) print(“First element of the tuple is:”, Tuple(0)(1)) print(“Items present inside another list or tuple is:”, Tuple(2)(1))
Wynik:
Pierwszy element krotki to: „y”
Elementy obecne na innej liście lub krotce to: 5.6
Jak omówiono w Samouczek dotyczący listy Pythona wartości wewnątrz zagnieżdżonej listy są przechowywane w postaci macierzy, podobnie Tuple również stosuje tę samą koncepcję.
P y t h o n
2 4 6
4 5.6 Cześć
Tak więc, gdy spróbujemy uzyskać dostęp do Tuple (0) (1), wskaże 1śwwiersz i 2ndwięc dane będą „y”.
Podobnie, gdy spróbujemy uzyskać dostęp do listy (2) (1), wskaże ona 3r & Dwiersz i 2ndkolumna, więc dane będą wynosić 5,6
Uwaga:Powyższa koncepcja działa tylko wtedy, gdy próbujesz uzyskać dostęp do elementów krotki przy użyciu zagnieżdżonego indeksowania.
Indeksowanie ujemne
Możemy również uzyskać dostęp do danych za pomocą ujemnego indeksu. Indeks ujemny zawsze zaczyna się od -1, a -1 odnosi się do ostatniego elementu, a -2 do ostatniej drugiej pozycji, a więc dalej.
Zawsze pamiętaj, że indeksowanie dodatnie jest używane do iteracji elementów krotki w przód, podczas gdy indeksowanie ujemne odbywa się wstecz.
Przykład 1
Tuple = (3, 5, 7.8) print(“Last element of the tuple is:”, Tuple(-1))
Wynik:
Ostatni element krotki to: 7.8
Przykład: 2
Tuple = (3, 5, 7.8) print(“First element of the tuple is:”, Tuple(-3))
Wynik:
Pierwszy element krotki to: 3
Cięcie krotki
Używając operatora wycinka (:), możemy uzyskać dostęp do szeregu elementów z krotki.
Przykład 1
Tuple = (1, 2.5, 3, 4.9, 5, 6, “Python”) print(“Elements from 2nd to 5th is: ”, Tuple(1:5)) print(“Elements beginning to 4th is: ”, Tuple(:-3)) print(“Elements 4th to end is: ”, Tuple(3:)) print(“Elements from start to end is: “, Tuple(:))
Wynik:
Elementy od 2 do 5 to: (2,5, 3, 4,9, 5)
Elementy zaczynające się od 4 to: (1, 2,5, 3, 4,9)
Elementy od czwartego do końca to: (4.9, 5, 6, „Python”)
Elementy od początku do końca to: (1, 2.5, 3, 4.9, 5, 6, „Python”)
Możemy również uzyskać dostęp do elementów obecnych w krotce za pomocą pętli for.
Przykład: 2
Tuple = (3, 5, 7.8) print(“First element of the tuple is:”, Tuple(-3))
Wynik:
1
dwa
3.5
5
'Cześć'
Zmiana krotki
Jak wiemy, krotki są niezmienne w Pythonie, stąd dane nie mogą być zmieniane, ale listy są zmienne. W ten sposób można zmieniać listy obecne w krotkach (krotkach zagnieżdżonych).
Przykład 1
Tuple = (3, 4.5, (4, 5, 6)) print(“Original Tuple is:”, Tuple) Tuple(2)(0) = 2 print(“Updated Tuple is:”, Tuple)
Wynik:
Oryginalna krotka to: (3, 4.5, (4, 5, 6))
Zaktualizowana krotka to: (3, 4.5, (2, 5, 6))
Nie możemy używać funkcji append () ani extension () w Tuple, ponieważ krotki są niezmienne. Nie możesz również użyć funkcji remove () lub pop ().
Konwertowanie listy na krotkę
Możemy przekonwertować listę na Tuple za pomocą wbudowanej funkcji Pythona o nazwie tuple ().
Składnia:
tuple(arg1)
Funkcja Tuple () przyjmuje jeden argument, a argumentem powinna być nazwa zmiennej listy.
Przykład 1
List = (2, 4, 5.6, “Hi”) print(“Original List is:”, List) Tuple = tuple(List) print(“After converting to tuple is:”, Tuple)
Wynik:
Oryginalna lista to: (2, 4, 5.6, „Cześć”)
Po konwersji na krotkę to: (2, 4, 5.6, „Cześć”)
Konwersja krotki na ciąg
Możemy również przekształcić Tuple w String na dwa sposoby.
Podejście: 1
Używając wbudowanej metody join () z String, możemy przekonwertować Tuple na String.
Przykład 1
def convertTupleToString(my_tuple): s = ‘’.join(my_tuple) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
Wynik:
Przed konwersją na String: („P”, „y”, „t”, „h”, „o”, „n”)
Po konwersji na ciąg: „Python”
Podejście: 2
Redukcja () z functools jest używana do konwersji Tuple na String. Ta metoda łączy znak obecny w krotce i tworzy ciąg.
Przykład: 2
import operator import functools def convertTupleToString(my_tuple): s = functools.reduce(operator.add, (my_tuple)) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
Wynik:
Przed konwersją na String: („P”, „y”, „t”, „h”, „o”, „n”)
Po konwersji na ciąg: „Python”
Uwaga: Możesz przekonwertować krotkę na ciąg tylko wtedy, gdy krotka zawiera znaki. Jeśli krotka zawiera jeden element typu integer lub float, zwróci błąd.
Przykład: 3
def convertTupleToString(my_tuple): s = ‘’.join(my_tuple) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, 4, 6.5) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
Wynik:
Przed konwersją na String: („P”, „y”, „t”, „h”, „o”, „n”, 4, 6.5)
Traceback (ostatnie ostatnie połączenie):
Plik „”, wiersz 1, w
str = ”.join (krotka)
TypeError: sequence item 6: oczekiwana instancja str, znaleziono int
Sortuj krotki w Pythonie
W Pythonie mamy wbudowaną funkcję o nazwie sort (), która służy do sortowania elementów krotki.
Składnia:
sorted(arg1)
Metoda sortowana () przyjmuje jeden argument, którym jest nazwa zmiennej.
Przykład 1
def sortTuple(my_tuple): sort = sorted(my_tuple) return sort Tuple = (2, 4, 6, 1, 4, 7.8, 2.7) print(“Before sorting the Tuple is:”, Tuple) sortedTuple = sortTuple(Tuple) print(“After sorting the Tuple is:”, sortedTuple)
Wynik:
Przed posortowaniem krotki to: (2, 4, 6, 1, 4, 7,8, 2,7)
Po posortowaniu krotki to: (1, 2, 2,7, 4, 4, 6, 7,8)
Pakowanie i rozpakowywanie krotki
Python udostępnia ważną funkcję zwaną pakowaniem i rozpakowywaniem. Podczas pakowania umieszczamy wartość w krotce, ale podczas rozpakowywania wyodrębniamy wszystkie wartości przechowywane w krotkach do zmiennych.
Przykład 1
Tuple = (“John”, 23567, “Software Engineer”) (eName, eID, eTitle) = Tuple print(“Packed tuples is:”, Tuple) print(“Employee name is:”, eName) print(“Employee ID is:”, eID) print(“Employee Title is:”, eTitle)
Wynik:
Spakowane krotki to: („Jan”, 23567, „Inżynier oprogramowania”)
Imię pracownika: John
Identyfikator pracownika to: 23567
Tytuł pracownika: Inżynier oprogramowania
Jeśli zauważysz w powyższym przypadku w linii numer 2, rozpakowujemy krotkę na kilka zmiennych.
Uwaga: Liczba elementów w krotce powinna być równa liczbie zmiennych w rozpakowanej krotce.
NamedTuple
Python udostępnia specjalny typ funkcji o nazwie namedtuple (), która pochodzi z modułu kolekcji.
Nazwane krotki są podobne do słownika, który zawiera klucze i wartości. Różnica polega jednak na tym, że w słowniku możemy uzyskać dostęp do wartości tylko za pomocą klucza, ale NamedTuple obsługuje dostęp zarówno z wartości, jak i klucza.
Istnieją trzy sposoby, dzięki którym możemy uzyskać dostęp do wartości nemaedtuple ().
jak otwierać okna plików torrentowanych
- Dostęp według indeksu
- Dostęp za pomocą klucza
- Dostęp za pomocą metody getattr ()
Przykład 1
import collections Employee = collections.namedtuple(‘Employee’, (‘name’, ‘ID’, ‘Title’)) Emp = Employee(‘John’, ‘23567’, ‘Software Engineer’) #Accessing using index print(“Employee name is:”, Emp(0)) # Accessing using key print(“Employee ID is:”, Emp.ID) #Access by getattr() method print(“Employee Title is:”, getattr(Emp, ‘Title’))
Wynik:
Imię pracownika: John
Identyfikator pracownika to: 23567
Tytuł pracownika: Inżynier oprogramowania
Mamy również obsługiwane trzy operacje konwersji dla funkcji namedtuples ().
- _robić()
- _asdict ()
- ** Operator (podwójny start)
Przykład: 2
import collections Employee = collections.namedtuple(‘Employee’, (‘name’, ‘ID’, ‘Title’)) Emp = Employee(‘John’, ‘23567’, ‘Software Engineer’) Emp1 = (‘Mathew’, ‘45783’, “Software Developer”) Emp2 = {‘name’ : “Helen”, ‘ID’ : 56873, ‘Title’ : “Test Lead”} #Using _make() print(Employee._make(Emp1)) #Using _asdict() print(Emp._asdict()) #Using ** operator print(Employee(**Emp2))
Wynik:
Pracownik (imię i nazwisko = „Mathew”, identyfikator = „45783”, tytuł = „Programista”)
OrderedDict (((„imię i nazwisko”, „Jan”), („ID”, „23567”), („Tytuł”, „Inżynier oprogramowania”)))
Pracownik (imię i nazwisko = „Helen”, identyfikator = 56873, tytuł = „lider testowy”)
Zwróć krotkę
Możemy zwrócić kolekcję wartości lub krotek za pomocą instrukcji return.
Przykład 1
def my_fun(): name = “John” ID = 23567 Title = “Software Engineer” return (name, ID, Title) employee = my_fun() print(“Employee detail is:”, employee)
Wynik:
Dane pracownika to: („Jan”, 23567, „Inżynier oprogramowania”)
Indeks krotki poza zakresem
Indeks poza zakresem jest jednym z typowych wyjątków, które otrzymamy podczas pracy z krotkami lub listą. Ten wyjątek zwykle występuje, gdy próbujesz uzyskać dostęp do elementu spoza krotki, zakresu, co oznacza, że krotki zawierają tylko 3 elementy i jeśli próbujesz uzyskać dostęp do 4thelement, otrzyma indeks krotki poza zakresem wyjątku.
Przykład 1
Tuple = (4, 7, 1.2, “Hi”) print(Tuple(4))
Wynik:
Traceback (ostatnie ostatnie połączenie):
Plik „”, wiersz 1, w
Krotka (4)
IndexError: indeks krotki poza zakresem
Jeśli zauważysz w powyższym przykładzie, próbujemy uzyskać dostęp do elementu, który jest obecny na 5thposition, ale nie ma tam żadnego elementu, dlatego zgłasza wyjątek indeksu krotki poza zakresem.
Usuwanie krotki
Nie możemy usunąć pojedynczych elementów z krotki, ponieważ krotki są niezmienne. Jedynym sposobem usunięcia elementów z krotki jest usunięcie całej krotki.
Python zapewnia wbudowaną funkcję „del” do usuwania całej krotki.
Przykład 1
Tuple = (2, 4.5, “Python”) print(“Before deleting the tuple:”, Tuple) del Tuple print(“After Deleting the tuple:”, Tuple)
Wynik:
Przed usunięciem krotki: (2, 4.5, „Python”)
Traceback (ostatnie ostatnie połączenie):
Plik „”, wiersz 1, w
print („Po usunięciu krotki:”, krotka)
NameError: name „Tuple” nie jest zdefiniowana
W powyższym przykładzie po usunięciu krotki próbujemy wydrukować krotkę, ale już ona nie istnieje. Dlatego rzuca NameError.
Podstawowe operacje krotki
Za pomocą krotek możemy wykonać podstawowe operacje, takie jak konkatenacja, powtarzanie itp.
Zobaczmy wszystkie podstawowe operacje z kilkoma przykładami.
Przykład: 1 - konkatenacja krotek
Możemy połączyć krotki za pomocą operatora „+”.
Tuple1 = (3, 5, “Hi”) Tuple2 = (5.6, 1, “Python”) print(“Tuple 1 is:”, Tuple1) print(“Tuple 2 is”, Tuple2) print(“Concatenation of Tuple 1 and Tuple 2 is:”, Tuple1+Tuple2)
Wynik:
Krotka 1 to: (3, 5, „Cześć”)
Krotka 2 to: (5.6, 1, „Python”)
Konkatenacja krotki 1 i krotki 2 to: (3, 5, „Cześć”, 5.6, 1, „Python”)
Przykład: 2 - powtórzenie krotki
Powtarzanie krotki oznacza wielokrotne powtarzanie elementów krotki. Można to osiągnąć za pomocą operatora „*”.
Tuple = (3, 1, 5.6, “Python”) print(“Before the repetition the tuple is:”, Tuple) print(“After the repetition the tuple is:”, Tuple*3)
Wynik:
jak uruchomić plik torrentowany
Przed powtórzeniem krotka to: (3, 1, 5.6, „Python”)
Po powtórzeniu krotka to: (3, 1, 5.6, „Python”, 3, 1, 5.6, „Python”, 3, 1, 5.6, „Python”)
Przykład: 3 - Operator członkostwa
Używając operatora „in”, możemy sprawdzić, czy dany element jest obecny w krotce. Zwraca wartość logiczną True, jeśli element jest obecny w krotce i zwraca False, jeśli element nie jest obecny.
Tuple = (3, 2, 6) print(“Is element 2 present in Tuple:”, 2 in Tuple)
Wynik:
Czy element 2 występuje w Tuple: True
Wbudowane metody krotek
Python udostępnia kilka wbudowanych metod dla krotek, opisanych w poniższej tabeli.
Metody | Opis |
---|---|
każdy() | Zwraca True, jeśli jakikolwiek element obecny w krotce i zwraca False, jeśli krotka jest pusta |
min () | Zwraca najmniejszy element (liczbę całkowitą) krotki |
max () | Zwraca największy element (liczbę całkowitą) krotki |
len () | Zwraca długość krotki |
posortowane () | Służy do sortowania wszystkich elementów krotki |
suma() | Zwraca sumę wszystkich elementów (liczb całkowitych) krotek |
Zobaczmy, jak wykorzystać wszystkie metody na przykładzie.
Przykład: 1 - metoda any ()
Tuple = (3, 1, 4.5) print(“Is there any elements present in Tuple:”, any(Tuple)) Tuple1 = () print(“Is there any elements present in Tuple1:”, any(Tuple1))
Wynik:
Czy w Tuple: True są jakieś elementy
Czy w Tuple1: False są jakieś elementy
Przykład: metoda 2 - min ()
Tuple = (3, 5.6, 5, 8) print(“Smallest element in the tuples is:”, min(Tuple))
Wynik:
Najmniejszy element w krotkach to: 3
Przykład: metoda 3 - max ()
Tuple = (3, 5.6, 5, 8) print(“Largest element in the tuples is:”, max(Tuple))
Wynik:
Największy element krotek to: 8
Przykład: 4 - metoda len ()
Tuple = (3, 5.6, 5, 8) print(“Length of the tuple is:”, len(Tuple))
Wynik:
Długość krotki to: 4
Przykład: 5 - metoda sortowana ()
Tuple = (2, 3.5, 1, 6, 4) print(“Sorted integer is:”, sorted(Tuple)) Tuple1 = (‘e’, ‘a’, ‘u’, ‘o’, ‘i’) print(“Sorted character is:”, sorted(Tuple1))
Wynik:
Posortowana liczba całkowita to: (1, 2, 3,5, 4, 6)
Sortowany znak to: („a”, „e”, „i”, „o”, „u”)
Przykład: 6 - metoda sum ()
Num = (3, 5.1, 2, 9, 3.5) print('Sum of all the numbers in the tuples is:', sum(Num))
Wynik:
Suma wszystkich liczb w krotkach wynosi: 22,6
Wniosek
Krotka to jeden z typów danych w Pythonie, nazywany również strukturą danych.
Krotka Pythona służy do przechowywania dużej liczby wartości dowolnego typu danych w jednej zmiennej. Krotki są niezmienne, dlatego zwiększa wydajność dostępu do wartości z krotki.
Kiedy pracujesz z krotkami, musisz pamiętać o wszystkich wbudowanych metodach krotki.
Mam nadzieję, że zdobyłbyś ogromną wiedzę na temat koncepcji Tuple w Pythonie !!
rekomendowane lektury
- Python DateTime Tutorial z przykładami
- Samouczek Pythona dla początkujących (praktyczne BEZPŁATNE szkolenie Python)
- Samouczek dotyczący głównych funkcji języka Python z praktycznymi przykładami
- Dogłębne samouczki dotyczące Eclipse dla początkujących
- Funkcje łańcuchowe w Pythonie
- Samouczek dotyczący dzielenia ciągów w Pythonie
- Samouczek JAVA dla początkujących: ponad 100 praktycznych samouczków wideo Java
- Zmienne Pythona