6 forskjellige tilnærminger til å vise lister i Python

6 forskjellige tilnærminger til å vise lister i Python

Kilde node: 3091325

Introduksjon

I Python handler utskrift av lister ikke bare om å vise verdier; det er en måte for programmerere å forstå koden deres bedre og sørge for at data ser riktig ut. La oss utforske ulike måter å skrive ut lister på, med praktiske eksempler og tips for å gjøre ting klarere. La oss dykke inn i Python-listenes verden.

Meld deg på vår gratis kurs av Python.

Innholdsfortegnelse

Skriv ut lister i Python

Utskrift lister i Python åpner opp for en rekke metoder, og i denne artikkelen vil vi utforske flere effektive tilnærminger:

  • Brukes for loop
  • Konverter en liste til streng for visning
  • Bruke sep-parameteren i print()
  • Bruker map() funksjonen
  • Bruke indeksering og skjæring
  • Bruke listeforståelse

Vis en liste i Python ved å bruke en For Loop

Iterer gjennom listen fra 0 til dens lengde og skriv ut hvert element individuelt med en for-løkke; dette er den konvensjonelle måten å gjøre det på.

Nedenfor er et eksempel på visning av en liste i Python ved å bruke en for-løkke:

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

I dette eksemplet har vi en liste over frukter, og for-løkken går gjennom hvert element i listen, og viser dem én etter én.

Utgang:

Viser lister

Tidskompleksitet (O(n)):

Tidskompleksiteten er O(n) fordi, i en for-løkke, besøkes hvert element i listen én gang, og tiden det tar å utføre løkken er direkte proporsjonal med antall elementer i inndatalisten.

Romkompleksitet (O(1)):

Plasskompleksiteten er O(1) ettersom sløyfen bruker en konstant mengde minne, uavhengig av inngangsstørrelsen; den bruker bare en enkelt variabel (element) for å representere hvert element i listen og oppretter ikke ytterligere datastrukturer som vokser med input.

Vis en liste ved å konvertere den til en streng

Når du arbeider med en liste over strenger, er en enkel tilnærming å bruke join()-funksjonen for enkel sammenkobling. Men når listen inneholder heltall, er det nødvendig med en to-trinns prosess: først, konverter dem til strenger og bruk deretter join()-funksjonen for å lage en enhetlig streng for visning.

Her er et eksempel:

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

I dette eksemplet setter sammenføyningsmetoden elementene i listen sammen til en enkelt string, atskilt med komma og mellomrom. Resultatet vises deretter som en formatert streng.

Utgang:

Viser lister

Tidskompleksitet (O(n)):

Tidskompleksiteten er O(n) fordi, i en for-løkke, blir hvert element i listen behandlet én gang, og utførelsestiden skaleres lineært med antall elementer i inndatalisten. Etter hvert som inngangen vokser, vokser algoritmens kjøretid proporsjonalt.

Romkompleksitet (O(1)):

Plasskompleksiteten er O(1) fordi algoritmen bruker en konstant mengde minne uavhengig av inngangsstørrelsen. Sløyfen krever bare en enkelt variabel (element) for å representere hvert element i listen, og den skaper ikke ytterligere datastrukturer eller minne som avhenger av størrelsen på inndatalisten.

Vis med sep-parameteren i Print()

Sep-parameteren i print()-funksjonen lar deg spesifisere et skille mellom elementene du skriver ut. 

Ved å bruke stjerne (*)-symbolet kan du presentere listeelementer på en enkelt linje med mellomrom. For en visning med hvert element på en ny linje eller atskilt med kommaer, bruk henholdsvis sep=”n” eller sep=”, ”. 

Her er et eksempel med en liste over frukt:

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

I dette eksemplet spesifiserer sep=”, ” at et komma og et mellomrom skal brukes som skilletegn mellom elementene i listen.

Utgang:

Tidskompleksitet (O(n)):

Tidskompleksiteten er O(n) fordi, med en for-løkke, blir hvert element i listen behandlet individuelt. Etter hvert som antall elementer (n) vokser, øker utførelsestiden lineært, noe som reflekterer en direkte sammenheng mellom inngangsstørrelse og beregningstid.

Romkompleksitet (O(1)):

Plasskompleksiteten er O(1) siden algoritmen bruker en konsistent mengde minne, uavhengig av inngangsstørrelse. Sløyfen bruker et fast sett med variabler (som "element") og unngår å lage ytterligere datastrukturer eller dynamisk allokere minne i forhold til inngangsstørrelsen.

Vis en liste i Python ved å bruke Map()-funksjonen

Bruk map()-funksjonen for å sikre at hvert element i listen er en streng, spesielt når listen inneholder ikke-strengelementer. Etter dette, slå sammen disse transformerte elementene ved å bruke sammenføyningsfunksjonen for en enhetlig visning.

Her er et eksempel på visning av en liste over frukt i Python:

# Example list of fruits

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

# Displaying the list of fruits

print("List of Fruits:", fruits)

Utgang:

Print()-funksjonen formaterer automatisk listen for visning. Hvis du ønsker å tilpasse utdataene ytterligere, kan du iterere gjennom listen og skrive ut hvert element individuelt eller bruke sammenføyningsmetoden, som vist i tidligere eksempler.

Vis en liste i Python ved hjelp av indeksering og skjæring

Du kan vise en liste i Python ved å bruke indeksering og skjæring for å få tilgang til bestemte elementer eller et undersett av listen. 

Her er et eksempel:

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

Utgang:

I dette eksemplet brukes indeksering for å få tilgang til individuelle elementer (f.eks. frukt[0] for det første elementet), og skjæring brukes til å vise et undersett av listen (f.eks. frukt[1:4] for elementer ved indeks 1, 2 og 3).

Tidskompleksitet (O(n)):

Tidskompleksiteten er O(n) fordi iterasjon gjennom en liste ved hjelp av indeksering eller skjæring innebærer å besøke hvert element én gang. Etter hvert som størrelsen på listen (n) øker, vokser tiden det tar å få tilgang til eller dele listen lineært.

Romkompleksitet (O(1)):

Plasskompleksiteten er O(1) for indekserings- og skjæreoperasjoner da de bruker en konstant mengde ekstra minne, uavhengig av størrelsen på listen. Minnet som kreves for indeks-/stykkevariabler forblir konstant, ikke skaleres med inndatastørrelsen.

Vis en liste i Python ved å bruke listeforståelse

Listeforståelse er en kortfattet funksjon i Python for å lage lister ved å bruke et uttrykk på hvert element i en eksisterende iterabel. Den gir en kompakt syntaks som kombinerer trinnene med å lage en ny liste og bruke en transformasjon på elementene.

Her er et eksempel på visning av en modifisert liste over frukt ved å bruke listeforståelse:

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

Utgang:

Viser lister

I dette eksemplet brukes listeforståelse for å lage en ny liste (capitalized_fruits). Resultatet er en liste over frukter med store bokstaver.

Tidskompleksitet (O(n)):

Tidskompleksiteten er O(n) for dette eksemplet fordi den itererer gjennom hvert element i den originale fruktlisten. Utførelsestiden skalerer lineært med antall frukter, noe som gjør den proporsjonal med størrelsen på inndatalisten.

Romkompleksitet (O(n)):

Plasskompleksiteten er O(n) ettersom listeforståelse skaper en ny liste (capitalized_fruits) som vokser med størrelsen på inputlisten (frukter). Hvert element i den opprinnelige listen tilsvarer et element i den nye listen, og bidrar til et lineært forhold mellom inngangsstørrelsen og minnet som brukes.

konklusjonen

I Python er det å mestre kunsten å skrive ut lister avgjørende for kodeforståelse og datavisualisering. Denne veiledningen har utforsket seks effektive måter å vise lister på, og gir praktiske eksempler og tips for klarhet. Enten du bruker løkker, strengkonvertering, egendefinerte skilletegn, kartfunksjoner, indeksering, skjæring eller listeforståelse, tjener hver tilnærming et bestemt formål, og forbedrer dine Python-programmeringsferdigheter.

Ofte Stilte Spørsmål

Q1. Hvorfor anbefales listeforståelse for å vise lister?

A. Listeforståelse anbefales på grunn av sin konsise syntaks og effektivitet. Det gjør det mulig å lage modifiserte lister med en enkelt kodelinje, noe som gjør koden mer lesbar.

Q2. Hvordan påvirker indeksering tidskompleksiteten når en liste vises?

A. Indeksering har en tidskompleksitet på O(1) for tilgang til individuelle elementer, og gir konstant tid uavhengig av listestørrelsen. Men å iterere gjennom hele listen ved å bruke indekseringsresultater i O(n) tidskompleksitet.

Q3. Når skal sep-parameteren i print() brukes?

A. Sep-parameteren er nyttig når du tilpasser skillet mellom elementer i en trykt liste. Det gir mulighet for en organisert visning, spesielt når du presenterer elementer på en enkelt linje eller med en spesifikk skilletegn.

Q4. Er det en anbefalt metode for å vise en liste over strenger?

A. Ja, bruk av join()-funksjonen anbefales for å vise en liste over strenger. Den kobler effektivt elementene sammen med en spesifisert skilletegn, og skaper en enhetlig streng for enkel visning.

Spørsmål 5: Hvordan påvirker listeforståelse rommets kompleksitet?

A5: Listeforståelse har en romkompleksitet på O(n), der n er størrelsen på inndatalisten. Den oppretter en ny liste med samme antall elementer som den opprinnelige listen. Derfor bidrar det til et lineært forhold mellom inngangsstørrelse og minnebruk.

Tidstempel:

Mer fra Analytics Vidhya