6 różnych podejść do wyświetlania list w Pythonie

6 różnych podejść do wyświetlania list w Pythonie

Węzeł źródłowy: 3091325

Wprowadzenie

W Pythonie drukowanie list nie polega tylko na pokazywaniu wartości; jest to sposób, w jaki programiści mogą lepiej zrozumieć swój kod i upewnić się, że dane wyglądają prawidłowo. Przyjrzyjmy się różnym sposobom drukowania list, podając praktyczne przykłady i wskazówki, które sprawią, że wszystko będzie jaśniejsze. Zanurzmy się w świat list Pythona.

Zapisz się do naszego bezpłatny kurs Pythona.

Spis treści

Drukuj listy w Pythonie

Druk listy w Pythonie otwiera szereg metod, a w tym artykule omówimy kilka skutecznych podejść:

  • Korzystanie z pętli for
  • Konwertuj listę na ciąg do wyświetlenia
  • Używanie parametru sep w print()
  • Korzystanie z funkcji map().
  • Korzystanie z indeksowania i krojenia
  • Używanie rozumienia list

Wyświetl listę w Pythonie za pomocą pętli For

Wykonaj iterację po liście od 0 do jej długości i wydrukuj każdy element osobno, używając pętli for; jest to konwencjonalny sposób osiągnięcia tego.

Poniżej znajduje się przykład wyświetlenia listy w Pythonie przy użyciu pętli for:

# Creating a list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying each fruit using a for loop

print("List of Fruits:")

for fruit in fruits:

    print(fruit)

W tym przykładzie mamy listę owoców, a pętla for iteruje po każdym elemencie listy, wyświetlając je jeden po drugim.

Wyjście:

Wyświetlanie list

Złożoność czasowa (O(n)):

Złożoność czasowa wynosi O(n), ponieważ w pętli for każdy element listy jest odwiedzany raz, a czas potrzebny na wykonanie pętli jest wprost proporcjonalny do liczby elementów na liście wejściowej.

Złożoność przestrzenna (O(1)):

Złożoność przestrzenna wynosi O(1), ponieważ pętla wykorzystuje stałą ilość pamięci, niezależnie od rozmiaru danych wejściowych; wykorzystuje tylko jedną zmienną (element) do reprezentowania każdego elementu na liście i nie tworzy dodatkowych struktur danych, które rosną wraz z danymi wejściowymi.

Wyświetl listę, konwertując ją na ciąg

Kiedy mamy do czynienia z listą smyczkiprostym podejściem jest użycie funkcji Join() w celu łatwego łączenia. Jeśli jednak lista zawiera liczby całkowite, wymagany jest dwuetapowy proces: najpierw przekonwertuj je na ciągi znaków, a następnie użyj funkcji Join() w celu utworzenia ujednoliconego ciągu do wyświetlenia.

Oto przykład:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Convert the list to a string and display it

result_string = ', '.join(fruits)

print("List of Fruits: " + result_string)

W tym przykładzie metoda Join łączy elementy listy w jedną ciąg, oddzielone przecinkiem i spacją. Wynik jest następnie wyświetlany jako sformatowany ciąg znaków.

Wyjście:

Wyświetlanie list

Złożoność czasowa (O(n)):

Złożoność czasowa wynosi O(n), ponieważ w pętli for każdy element listy jest przetwarzany raz, a czas wykonania skaluje się liniowo wraz z liczbą elementów na liście wejściowej. W miarę wzrostu danych wejściowych czas działania algorytmu rośnie proporcjonalnie.

Złożoność przestrzenna (O(1)):

Złożoność przestrzenna wynosi O(1), ponieważ algorytm wykorzystuje stałą ilość pamięci niezależnie od rozmiaru danych wejściowych. Pętla wymaga tylko jednej zmiennej (elementu) do reprezentowania każdego elementu listy i nie tworzy dodatkowych struktur danych ani pamięci zależnej od rozmiaru listy wejściowej.

Wyświetlanie z parametrem sep w Print()

Parametr sep w funkcji print() umożliwia określenie separatora pomiędzy drukowanymi elementami. 

Użycie symbolu gwiazdki (*) pozwala na przedstawienie elementów listy w jednym wierszu ze spacjami. Aby wyświetlić każdy element w nowej linii lub oddzielony przecinkami, użyj odpowiednio sep=”n” lub sep=”, ”. 

Oto przykład wykorzystania listy owoców:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying the list with a custom separator using the sep parameter

print("List of Fruits:", *fruits, sep=", ")

W tym przykładzie sep=”, ” określa, że ​​jako separatory pomiędzy pozycjami na liście należy zastosować przecinek i spację.

Wyjście:

Złożoność czasowa (O(n)):

Złożoność czasowa wynosi O(n), ponieważ w pętli for każdy element listy jest przetwarzany indywidualnie. Wraz ze wzrostem liczby elementów (n) czas wykonania rośnie liniowo, co odzwierciedla bezpośrednią zależność między rozmiarem danych wejściowych a czasem obliczeń.

Złożoność przestrzenna (O(1)):

Złożoność przestrzenna wynosi O(1), ponieważ algorytm wykorzystuje stałą ilość pamięci, niezależnie od rozmiaru danych wejściowych. Pętla wykorzystuje ustalony zestaw zmiennych (takich jak „element”) i pozwala uniknąć tworzenia dodatkowych struktur danych lub dynamicznego przydzielania pamięci w stosunku do rozmiaru wejściowego.

Wyświetl listę w Pythonie za pomocą funkcji Map().

Użyj funkcji map(), aby upewnić się, że każdy element listy jest ciągiem znaków, szczególnie jeśli lista zawiera elementy niebędące ciągiem znaków. Następnie połącz te przekształcone elementy za pomocą funkcji łączenia, aby uzyskać ujednolicony wyświetlacz.

Oto przykład wyświetlenia listy owoców w Pythonie:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying the list of fruits

print("List of Fruits:", fruits)

Wyjście:

Funkcja print() automatycznie formatuje listę do wyświetlenia. Jeśli chcesz bardziej dostosować wynik, możesz iterować po liście i drukować każdy element osobno lub użyć metody łączenia, jak pokazano we wcześniejszych przykładach.

Wyświetl listę w Pythonie za pomocą indeksowania i wycinania

Możesz wyświetlić listę w Pythonie, korzystając z indeksowania i wycinania, aby uzyskać dostęp do określonych elementów lub podzbioru listy. 

Oto przykład:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying the entire list

print("Complete List of Fruits:", fruits)

# Displaying specific elements using indexing

print("First Fruit:", fruits[0])

print("Third Fruit:", fruits[2])

# Displaying a subset using slicing

print("Subset of Fruits:", fruits[1:4])

Wyjście:

W tym przykładzie indeksowanie służy do uzyskiwania dostępu do poszczególnych elementów (np. owoce[0] w przypadku pierwszego elementu), a krojenie służy do wyświetlania podzbioru listy (np. owoce[1:4] w przypadku elementów o indeksie 1, 2 i 3).

Złożoność czasowa (O(n)):

Złożoność czasowa wynosi O(n), ponieważ iteracja po liście przy użyciu indeksowania lub wycinania wymaga jednorazowego odwiedzenia każdego elementu. Wraz ze wzrostem rozmiaru listy (n) czas potrzebny na uzyskanie dostępu do listy lub podzielenie jej rośnie liniowo.

Złożoność przestrzenna (O(1)):

Złożoność przestrzeni wynosi O(1) w przypadku operacji indeksowania i dzielenia na kawałki, ponieważ zużywają one stałą ilość dodatkowej pamięci, niezależnie od rozmiaru listy. Pamięć wymagana dla zmiennych indeksowych/wycinków pozostaje stała i nie skaluje się wraz z rozmiarem wejściowym.

Wyświetl listę w Pythonie, korzystając ze zrozumienia list

Rozumienie list to zwięzła funkcja języka Python służąca do tworzenia list poprzez zastosowanie wyrażenia do każdego elementu w istniejącej iteracji. Zapewnia zwartą składnię, która łączy etapy tworzenia nowej listy i stosowania transformacji do jej elementów.

Oto przykład wyświetlania zmodyfikowanej listy owoców przy użyciu funkcji rozumienia listy:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Using list comprehension to create a new list with capitalized fruits

capitalized_fruits = [fruit.capitalize() for fruit in fruits]

# Displaying the new list

print("Capitalized Fruits:", capitalized_fruits)

Wyjście:

Wyświetlanie list

W tym przykładzie do utworzenia nowej listy (wielkich_owoców) zastosowano funkcję rozumienia listy. Wynikiem jest lista owoców, których nazwy są pisane wielkimi literami.

Złożoność czasowa (O(n)):

W tym przykładzie złożoność czasowa wynosi O(n), ponieważ iteruje po każdym elemencie oryginalnej listy owoców. Czas wykonania skaluje się liniowo wraz z liczbą owoców, dzięki czemu jest proporcjonalny do rozmiaru listy wejściowej.

Złożoność przestrzenna (O(n)):

Złożoność przestrzeni wynosi O(n), ponieważ zrozumienie list tworzy nową listę (capitalized_fruits), która rośnie wraz z rozmiarem listy wejściowej (owoce). Każdy element na oryginalnej liście odpowiada elementowi na nowej liście, przyczyniając się do liniowej zależności pomiędzy rozmiarem wejściowym a używaną pamięcią.

Wnioski

W Pythonie opanowanie sztuki drukowania list jest kluczowe dla zrozumienia kodu i wizualizacji danych. W tym przewodniku omówiono sześć skutecznych sposobów wyświetlania list, podając praktyczne przykłady i wskazówki zapewniające przejrzystość. Niezależnie od tego, czy używasz pętli, konwersji ciągów znaków, niestandardowych separatorów, funkcji mapowych, indeksowania, wycinania czy rozumienia list, każde podejście służy konkretnemu celowi, zwiększając umiejętności programowania w języku Python.

Często Zadawane Pytania

Pytanie 1. Dlaczego do wyświetlania list zaleca się rozumienie list?

O. Zalecane jest zrozumienie listy ze względu na jej zwięzłą składnię i efektywność. Pozwala na tworzenie zmodyfikowanych list za pomocą jednej linii kodu, dzięki czemu kod jest bardziej czytelny.

Pytanie 2. W jaki sposób indeksowanie wpływa na złożoność czasu podczas wyświetlania listy?

O. Indeksowanie ma złożoność czasową O(1) dostępu do poszczególnych elementów, zapewniając stały czas niezależnie od rozmiaru listy. Jednak iteracja całej listy przy użyciu indeksowania powoduje złożoność czasową O(n).

Pytanie 3. Kiedy należy użyć parametru sep w print()?

O. Parametr sep jest przydatny podczas dostosowywania separatora między elementami na drukowanej liście. Pozwala na uporządkowaną ekspozycję, szczególnie przy prezentacji elementów w jednej linii lub z określonym separatorem.

Pytanie 4. Czy istnieje zalecana metoda wyświetlania listy ciągów znaków?

O. Tak, do wyświetlania listy ciągów znaków zalecane jest użycie funkcji Join(). Skutecznie łączy elementy za pomocą określonego separatora, tworząc ujednolicony ciąg znaków dla łatwego wyświetlania.

P5: W jaki sposób zrozumienie list wpływa na złożoność przestrzeni?

O5: Rozumienie list ma złożoność przestrzenną O(n), gdzie n jest rozmiarem listy wejściowej. Tworzy nową listę z taką samą liczbą elementów jak lista pierwotna. Dlatego przyczynia się do liniowej zależności między rozmiarem danych wejściowych a wykorzystaniem pamięci.

Znak czasu:

Więcej z Analityka Widhja