6 različnih pristopov k prikazovanju seznamov v Pythonu

6 različnih pristopov k prikazovanju seznamov v Pythonu

Izvorno vozlišče: 3091325

Predstavitev

V Pythonu tiskanje seznamov ni samo prikazovanje vrednosti; je način, da programerji bolje razumejo svojo kodo in poskrbijo, da so podatki videti pravilni. Raziščimo različne načine tiskanja seznamov s praktičnimi primeri in nasveti, da bodo stvari jasnejše. Potopimo se v svet seznamov Python.

Včlanite se v naš brezplačen tečaj Pythona.

Kazalo

Natisnite sezname v Pythonu

Tiskanje seznami v Pythonu odpira vrsto metod in v tem članku bomo raziskali več učinkovitih pristopov:

  • Uporaba for zanke
  • Pretvori seznam v niz za prikaz
  • Uporaba parametra sep v print()
  • Uporaba funkcije map().
  • Uporaba indeksiranja in rezanja
  • Uporaba seznamskega razumevanja

Prikažite seznam v Pythonu z uporabo zanke For

Iterirajte po seznamu od 0 do njegove dolžine in natisnite vsak element posebej z uporabo zanke for; to je običajen način za dosego tega.

Spodaj je primer prikaza seznama v Pythonu z uporabo zanke 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)

V tem primeru imamo seznam sadja in zanka for ponavlja vsak element na seznamu in jih prikazuje enega za drugim.

izhod:

Prikaz seznamov

Časovna kompleksnost (O(n)):

Časovna kompleksnost je O(n), ker je v zanki for vsak element na seznamu obiskan enkrat, čas, potreben za izvedbo zanke, pa je neposredno sorazmeren s številom elementov na vhodnem seznamu.

Prostorska kompleksnost (O(1)):

Kompleksnost prostora je O(1), saj zanka uporablja konstantno količino pomnilnika, ne glede na velikost vnosa; uporablja samo eno spremenljivko (element), ki predstavlja vsako postavko na seznamu, in ne ustvarja dodatnih podatkovnih struktur, ki rastejo z vnosom.

Prikažite seznam tako, da ga pretvorite v niz

Ko imate opravka s seznamom strune, je preprost pristop uporaba funkcije join() za enostavno veriženje. Če pa seznam vsebuje cela števila, je potreben postopek v dveh korakih: najprej jih pretvorite v nize in nato uporabite funkcijo join(), da ustvarite enoten niz za prikaz.

Tukaj je primer:

# 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)

V tem primeru metoda spajanja združi elemente seznama v enega niz, ločeni z vejico in presledkom. Rezultat je nato prikazan kot oblikovan niz.

izhod:

Prikaz seznamov

Časovna kompleksnost (O(n)):

Časovna kompleksnost je O(n), ker je v zanki for vsak element na seznamu obdelan enkrat, čas izvajanja pa se linearno spreminja glede na število elementov na vhodnem seznamu. Ko vhod raste, sorazmerno raste tudi čas izvajanja algoritma.

Prostorska kompleksnost (O(1)):

Kompleksnost prostora je O(1), ker algoritem uporablja konstantno količino pomnilnika ne glede na velikost vnosa. Zanka zahteva samo eno spremenljivko (element), ki predstavlja vsako postavko na seznamu, in ne ustvarja dodatnih podatkovnih struktur ali pomnilnika, ki je odvisen od velikosti vhodnega seznama.

Prikaz s parametrom sep v Print()

Parameter sep v funkciji print() vam omogoča, da določite ločilo med elementi, ki jih tiskate. 

Uporaba simbola zvezdice (*) vam omogoča, da elemente seznama predstavite v eni vrstici s presledki. Za prikaz z vsakim elementom v novi vrstici ali ločenim z vejicami uporabite sep=”n” ali sep=”, ” oz. 

Tu je primer uporabe seznama sadja:

# 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=", ")

V tem primeru sep=”, ” določa, da morata biti vejica in presledek uporabljena kot ločilo med elementi na seznamu.

izhod:

Časovna kompleksnost (O(n)):

Časovna kompleksnost je O(n), ker je z zanko for vsak element na seznamu obdelan posebej. Ko število elementov (n) raste, se čas izvajanja linearno povečuje, kar odraža neposredno razmerje med velikostjo vnosa in časom izračuna.

Prostorska kompleksnost (O(1)):

Kompleksnost prostora je O(1), ker algoritem uporablja dosledno količino pomnilnika, neodvisno od velikosti vnosa. Zanka uporablja fiksen nabor spremenljivk (kot je 'element') in se izogiba ustvarjanju dodatnih podatkovnih struktur ali dinamičnemu dodeljevanju pomnilnika glede na velikost vnosa.

Prikažite seznam v Pythonu s funkcijo Map().

S funkcijo map() zagotovite, da je vsak element na seznamu niz, še posebej, če seznam vključuje elemente, ki niso nizi. Po tem združite te preoblikovane elemente z uporabo funkcije združevanja za enoten prikaz.

Tukaj je primer prikaza seznama sadja v Pythonu:

# Example list of fruits

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

# Displaying the list of fruits

print("List of Fruits:", fruits)

izhod:

Funkcija print() samodejno oblikuje seznam za prikaz. Če želite izhod dodatno prilagoditi, se lahko pomikate po seznamu in natisnete vsak element posebej ali uporabite metodo združevanja, kot je prikazano v prejšnjih primerih.

Prikažite seznam v Pythonu z uporabo indeksiranja in rezanja

Seznam lahko prikažete v Pythonu z uporabo indeksiranja in rezanja za dostop do določenih elementov ali podnabora seznama. 

Tukaj je primer:

# 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])

izhod:

V tem primeru se indeksiranje uporablja za dostop do posameznih elementov (npr. sadje [0] za prvi element), rezanje pa se uporablja za prikaz podnabora seznama (npr. sadje [1:4] za elemente na indeksu 1, 2 in 3).

Časovna kompleksnost (O(n)):

Časovna kompleksnost je O(n), ker ponavljanje po seznamu z uporabo indeksiranja ali rezanja vključuje obisk vsakega elementa enkrat. Ko se velikost seznama (n) povečuje, čas, potreben za dostop ali rezanje seznama, linearno narašča.

Prostorska kompleksnost (O(1)):

Kompleksnost prostora je O(1) za operacije indeksiranja in rezanja, saj uporabljajo stalno količino dodatnega pomnilnika, ne glede na velikost seznama. Pomnilnik, potreben za spremenljivke indeksa/rezine, ostane nespremenjen in se ne spreminja z velikostjo vnosa.

Prikažite seznam v Pythonu s pomočjo razumevanja seznamov

Razumevanje seznamov je jedrnata funkcija v Pythonu za ustvarjanje seznamov z uporabo izraza za vsako postavko v obstoječem ponovljivem elementu. Zagotavlja kompaktno sintakso, ki združuje korake ustvarjanja novega seznama in uporabe transformacije za njegove elemente.

Tu je primer prikaza spremenjenega seznama sadja z razumevanjem seznama:

# 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)

izhod:

Prikaz seznamov

V tem primeru je razumevanje seznama uporabljeno za ustvarjanje novega seznama (capitalized_fruits). Rezultat je seznam sadja z velikimi začetnicami.

Časovna kompleksnost (O(n)):

Časovna kompleksnost je O(n) za ta primer, ker ponavlja skozi vsak element na prvotnem seznamu sadežev. Čas izvajanja se linearno spreminja s številom plodov, tako da je sorazmeren z velikostjo vhodnega seznama.

Kompleksnost prostora (O(n)):

Kompleksnost prostora je O(n), saj razumevanje seznama ustvari nov seznam (capitalized_fruits), ki raste z velikostjo vhodnega seznama (fruits). Vsak element na izvirnem seznamu ustreza elementu na novem seznamu, kar prispeva k linearnemu razmerju med velikostjo vnosa in uporabljenim pomnilnikom.

zaključek

V Pythonu je obvladovanje umetnosti tiskanja seznamov ključnega pomena za razumevanje kode in vizualizacijo podatkov. Ta priročnik je raziskal šest učinkovitih načinov za prikazovanje seznamov ter ponudil praktične primere in nasvete za jasnost. Ne glede na to, ali uporabljate zanke, pretvorbo nizov, ločila po meri, funkcije preslikave, indeksiranje, rezanje ali razumevanje seznama, vsak pristop služi določenemu namenu in izboljša vaše sposobnosti programiranja Python.

Pogosto zastavljena vprašanja

Q1. Zakaj je za prikazovanje seznamov priporočljivo razumevanje seznamov?

A. Zaradi jedrnate sintakse in učinkovitosti je priporočljivo razumevanje seznama. Omogoča ustvarjanje spremenjenih seznamov z eno vrstico kode, zaradi česar je koda bolj berljiva.

Q2. Kako indeksiranje vpliva na časovno zahtevnost pri prikazovanju seznama?

A. Indeksiranje ima časovno kompleksnost O(1) za dostop do posameznih elementov, kar zagotavlja stalen čas ne glede na velikost seznama. Vendar ponavljanje skozi celoten seznam z uporabo indeksiranja povzroči O(n) časovno zapletenost.

Q3. Kdaj je treba uporabiti parameter sep v print()?

A. Parameter sep je uporaben pri prilagajanju ločila med elementi na natisnjenem seznamu. Omogoča organiziran prikaz, predvsem pri predstavitvi elementov v eni vrstici ali z določenim ločilom.

Q4. Ali obstaja priporočena metoda za prikaz seznama nizov?

A. Da, uporaba funkcije join() je priporočljiva za prikaz seznama nizov. Učinkovito združuje elemente z določenim ločilom in ustvarja enoten niz za enostaven prikaz.

V5: Kako razumevanje seznama vpliva na kompleksnost prostora?

A5: Razumevanje seznama ima kompleksnost prostora O(n), kjer je n velikost vhodnega seznama. Ustvari nov seznam z enakim številom elementov kot prvotni seznam. Zato prispeva k linearnemu razmerju med velikostjo vnosa in porabo pomnilnika.

Časovni žig:

Več od Analitika Vidhya