Odwracanie listy lub tablicy jest typowym zadaniem programistycznym. Istnieje wiele przypadków, w których konieczne może być przedstawienie danych w odwrotnej kolejności, na przykład podczas sortowania listy.
Jak odwrócić listę lub tablicę za pomocą Pythona? W tym artykule poznasz różne podejścia.
Utwórz kopię za pomocą pętli for
Chwila Pętla for Pythona jest bardziej gadatliwy, w niektórych przypadkach może być przydatny. Na przykład zapewnia większą elastyczność podczas wykonywania złożonej logiki w niektórych punktach operacji odwrotnej.
Podczas korzystania z wcięcia dla pętli, powszechnym podejściem jest iteracja oryginalnej listy w odwrotnej kolejności. Zaczynając od ostatniego elementu, każda iteracja dołącza poprzedni element do nowej listy.
Biorąc pod uwagę listę liczb całkowitych od jednego do dziewięciu jako przykład, oto jak odwrócić tablicę za pomocą wcięcia dla pętla:
języki = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# Utwórz pustą listę do przechowywania odwróconej tablicy:
lista_odwrócona = []# Odejmij jeden od długości oryginalnej tablicy, aby zacząć od ostatniego indeksu:
reduktor = len (języki)-1# Odwróć listę wewnątrz pętli for:
dla mnie w językach:
reversed_list.append (języki[reduktor]) # Dołącz wynik do pustej listy
reduktor -=1 # Zmniejsz indeks o jeden w każdej iteracji za pomocą reduktora
drukuj (reversed_list)
Wyjście:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Odwróć listę lub tablicę za pomocą rozumienia listy
A zrozumienie listy tworzy krótszy kod. I nie ma potrzeby stosowania zmiennej tymczasowej, ponieważ zrozumienie listy działa na liście w miejscu.
Aby wykonać poprzednią operację, używając rozumienia listy:
reduktor = len (języki)
# Zmniejsz indeks w funkcji zakresu za pomocą pętli for w zrozumieniu listy
Reversed_list = [języki[reduktor] dla reduktora w zakresie (reduktor -1,-1,-1)]
drukuj (Reversed_list)
Wyjście:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Użyj operatora plasterka
Operator wycinka listy jest dość prosty, chociaż ma pewne ograniczenia. Na przykład możesz nie być w stanie dostosować danych wyjściowych tak, jak podczas korzystania z a dla pętla.
Oto jak odwrócić listę za pomocą operatora plasterka:
języki = [1, 2, 3, 4, 5, 6, 7, 8, 9]
rev_list = języki[::-1]
drukuj (rev_list)
Wyjście:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
ten [::-1] składnia to sprytny skrót, który skutkuje odwróconą listą. W rzeczywistości oznacza to „skopiuj każdy element listy, zaczynając od końca i licząc wstecz” — tj. „odwróć to”!
Użyj metody odwrotnej tablicy
Jest to kolejna metoda, która działa w miejscu: modyfikuje oryginalną tablicę. Może to być niedociągnięcie, ponieważ nie możesz zachować poprzedniej listy dla innych operacji.
Oto jak odwrócić tablicę za pomocą metody odwrotnej:
języki = [1, 2, 3, 4, 5, 6, 7, 8, 9]
języki.reverse()
druk (języki)
Wyjście:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Użyj odwróconej funkcji
Odwrócona funkcja iteruje po liście, tablicy lub dowolnej innej sekwencji i zwraca swoją odwróconą kopię. Jednak musisz jawnie zadeklarować odwrócone dane wyjściowe jako listę.
Tak to działa:
języki = [1, 2, 3, 4, 5, 6, 7, 8, 9]
drukuj (lista (rewers (języki)))
Wyjście:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Kreatywność z tablicami
Tablice lub listy to typowe sposoby przechowywania danych. W zależności od celu możesz chcieć przedstawić dane klientowi w odwrotnej kolejności. Jednym ze sposobów na to jest odwrócenie tablicy lub listy przed jej wyrenderowaniem. Jak widziałeś, w Pythonie istnieje kilka sposobów na odwrócenie listy. Wybierz, co działa najlepiej dla Ciebie i jest zgodne z Twoją logiką dla konkretnego problemu.
Możesz również zobaczyć, jak odwrócić tablicę w innych językach programowania, aby lepiej zrozumieć logikę tła.
Jak odwrócić tablicę w C++, Pythonie i JavaScript
Czytaj dalej
Powiązane tematy
- Programowanie
- Programowanie
- Pyton
- Algorytmy
O autorze
Idowu pasjonuje się każdą inteligentną technologią i produktywnością. W wolnych chwilach bawi się kodowaniem, a gdy się nudzi, przechodzi na szachownicę, ale od czasu do czasu uwielbia też oderwać się od rutyny. Jego pasja do pokazywania ludziom drogi do nowoczesnych technologii motywuje go do pisania więcej.
Zapisz się do naszego newslettera
Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Kliknij tutaj, aby zasubskrybować