CodeGym /Kursy /Python SELF PL /Zaawansowana praca z krotkami

Zaawansowana praca z krotkami

Python SELF PL
Poziom 8 , Lekcja 6
Dostępny

15.1 Tworzenie kopii krotki

No więc, już wiemy, że krotki (tuples) — to niezmienne sekwencje elementów. Ze względu na ich niezmienność stworzenie kopii krotki może się wydawać nieistotnym zadaniem, przecież w przeciwieństwie do list, krotki się nie zmieniają po stworzeniu.

Jednakże w pewnych sytuacjach może być konieczne stworzenie kopii krotki, szczególnie gdy ważne jest praca z jej osobną wersją, bez zmieniania danych źródłowych. Oto główne sposoby:

Bezpośrednie przypisanie

Najprościej stworzyć kopię krotki, używając bezpośredniego przypisania. To stworzy nowy obiekt krotki, ale ponieważ krotki są niezmienne, oba obiekty będą wskazywać na te same dane.


original_tuple = (1, 2, 3, 4, 5)
copied_tuple = original_tuple
print(copied_tuple)
        

W tym przypadku copied_tuple będzie odnosić się do tego samego obiektu co original_tuple.

Użycie funkcji tuple()

Inny sposób na stworzenie kopii krotki — to użycie wbudowanej funkcji tuple(). Ta funkcja tworzy nową krotkę, kopiując elementy krotki źródłowej.


original_tuple = (1, 2, 3, 4, 5)
copied_tuple = tuple(original_tuple)
print(copied_tuple)

        

Ta metoda jest szczególnie przydatna, gdy chcesz mieć pewność, że tworzysz nowy obiekt, nawet jeśli obiekt źródłowy może być innym iterowalnym obiektem.

Przekształcenie przez listę

Czasami może być konieczne stworzenie zmiennej kopii krotki w postaci listy, aby wprowadzić zmiany, a następnie ponownie przekształcić ją w krotkę.


original_tuple = (1, 2, 3, 4, 5)

temp_list = list(original_tuple)
temp_list.append(6)
copied_tuple = tuple(temp_list)
            
print(copied_tuple)

        

W tym przykładzie najpierw przekształcamy krotkę w listę, dodajemy nowy element, a potem przekształcamy listę z powrotem w krotkę.

15.2 Łączenie krotek

W przeciwieństwie do list, krotki nie mogą być zmieniane po utworzeniu, ale możesz tworzyć nowe krotki, łącząc istniejące. Łączenie krotek — to powszechna operacja, która może być przydatna w różnych scenariuszach programistycznych.

Główne sposoby łączenia krotek

Konkatenacja

Najprostszy sposób na połączenie dwóch lub więcej krotek — to użycie operatora +. Ten sposób tworzy nową krotkę, która jest wynikiem konkatenacji krotek źródłowych.


tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
combined_tuple = tuple1 + tuple2
            
print(combined_tuple)
        

W tym przykładzie combined_tuple będzie zawierać elementy (1, 2, 3, 4, 5, 6).

Mnożenie przez liczbę całkowitą

Możesz także użyć operatora * do mnożenia krotki przez liczbę całkowitą. To powtarza krotkę określoną ilość razy i tworzy nową krotkę.


tuple1 = (1, 2, 3)
multiplied_tuple = tuple1 * 3
            
print(multiplied_tuple)
        

Tutaj multiplied_tuple będzie zawierać elementy (1, 2, 3, 1, 2, 3, 1, 2, 3).

Funkcja itertools.chain

Do łączenia dużej liczby krotek można użyć funkcji chain z modułu itertools. Jest to wygodne, gdy ilość krotek do połączenia nie jest znana z góry.


from itertools import chain

tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
tuple3 = (7, 8, 9)
            
combined_tuple = tuple(chain(tuple1, tuple2, tuple3))
print(combined_tuple)
        

Wynik będzie (1, 2, 3, 4, 5, 6, 7, 8, 9).

15.3 Wbudowane krotki

Krotki, zawierające w sobie inne krotki, nazywane są wbudowane krotki (nested tuples). Wbudowane krotki zapewniają wygodny sposób organizacji i strukturyzacji danych, szczególnie gdy trzeba przedstawiać wielowymiarowe dane lub złożone struktury.

Możesz łączyć krotki, tworząc wbudowane struktury. Jest to użyteczne do organizacji danych w struktury wielowymiarowe. Tworzenie wbudowanej krotki w Pythonie jest tak samo proste jak tworzenie zwykłej krotki. Po prostu zawierasz jedną krotkę w innej.


nested_tuple = ((1, 2, 3), (4, 5, 6), (7, 8, 9))
        

W tym przykładzie nested_tuple zawiera trzy krotki, każda z których składa się z trzech elementów.

Przykład tworzenia wbudowanej krotki ze zwykłych:

W tym przykładzie nested_tuple zawiera trzy krotki, każda z których składa się z trzech elementów.


tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
nested_tuple = (tuple1, tuple2)
            
print(nested_tuple)
        

Tutaj nested_tuple będzie zawierać ((1, 2, 3), (4, 5, 6)).

Dostęp do elementów wbudowanej krotki

Dostęp do elementów wbudowanej krotki jest uzyskiwany za pomocą wielokrotnego indeksowania. Najpierw wskazujesz indeks dla zewnętrznej krotki, a potem dla wewnętrznej.


nested_tuple = ((1, 2, 3), (4, 5, 6), (7, 8, 9))

# Dostęp do elementu 5 w drugim wbudowanym krotce
element = nested_tuple[1][1]
print(element)  # Wyjście: 5
        

Tablice wielowymiarowe

Wbudowane krotki są często używane do przedstawiania dwuwymiarowych lub wielowymiarowych tablic. Na przykład tabela danych może być przedstawiona jako krotka krotek, gdzie każdy wiersz tabeli jest osobną krotką.

Strukturyzacja danych

Wbudowane krotki są wygodne do strukturyzacji danych, takich jak współrzędne geograficzne (szerokość i długość) dla kilku miejsc:


locations = (("New York", (40.7128, -74.0060)), 
             ("Los Angeles", (34.0522, -118.2437)), 
             ("Chicago", (41.8781, -87.6298)))
        
1
Опрос
Krotki w Pythonie,  8 уровень,  6 лекция
недоступен
Krotki w Pythonie
Krotki w Pythonie
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION