6 erinevat lähenemisviisi loendite kuvamiseks Pythonis

6 erinevat lähenemisviisi loendite kuvamiseks Pythonis

Allikasõlm: 3091325

Sissejuhatus

Pythonis ei ole loendite printimine ainult väärtuste näitamine; see on viis, kuidas programmeerijad saavad oma koodi paremini mõista ja veenduda, et andmed näevad õiged välja. Uurime erinevaid võimalusi nimekirjade printimiseks koos praktiliste näidete ja näpunäidetega, et asjad selgemaks teha. Sukeldume Pythoni loendite maailma.

Registreeru meie tasuta kursus Pythonist.

Sisukord

Printige loendid Pythonis

Printing loendid Pythonis avab hulga meetodeid ja selles artiklis uurime mitmeid tõhusaid lähenemisviise:

  • Silmuse kasutamine
  • Teisendage loend kuvamiseks stringiks
  • Sep parameetri kasutamine print()
  • Funktsiooni map() kasutamine
  • Indekseerimise ja viilutamise kasutamine
  • Loendi mõistmise kasutamine

Loendi kuvamine Pythonis For Loopi abil

Korrake loendit 0-st selle pikkuseni ja printige iga element eraldi, kasutades for-tsüklit; see on tavapärane viis selle saavutamiseks.

Allpool on näide loendi kuvamisest Pythonis, kasutades for-tsüklit:

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

Selles näites on meil puuviljade loend ja for-silmus kordab loendi iga üksust, kuvades need ükshaaval.

Väljund:

Loendite kuvamine

Aja keerukus (O(n)):

Ajaline keerukus on O(n), kuna for-tsüklis külastatakse loendi iga elementi üks kord ja tsükli täitmiseks kuluv aeg on otseselt võrdeline sisendloendi elementide arvuga.

Ruumi keerukus (O(1)):

Ruumi keerukus on O(1), kuna tsükkel kasutab konstantset mälumahtu, olenemata sisendi suurusest; see kasutab loendi iga üksuse esindamiseks ainult ühte muutujat (elementi) ega loo täiendavaid andmestruktuure, mis kasvavad koos sisendiga.

Kuvage loend, teisendades selle stringiks

Kui käsitletakse nimekirja stringid, lihtne lähenemine on kasutada liitmise hõlbustamiseks funktsiooni join(). Kui aga loend sisaldab täisarve, on vaja kaheastmelist protsessi: esmalt teisendage need stringideks ja seejärel kasutage kuvamiseks ühtse stringi loomiseks funktsiooni join().

Siin on näide:

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

Selles näites ühendab liitmismeetod loendi elemendid üheks nöör, eraldatud koma ja tühikuga. Seejärel kuvatakse tulemus vormindatud stringina.

Väljund:

Loendite kuvamine

Aja keerukus (O(n)):

Ajaline keerukus on O(n), kuna for-tsüklis töödeldakse iga loendi elementi üks kord ja täitmise aeg skaalatakse lineaarselt sisendloendi elementide arvuga. Kui sisend kasvab, kasvab algoritmi käitusaeg proportsionaalselt.

Ruumi keerukus (O(1)):

Ruumi keerukus on O(1), kuna algoritm kasutab konstantset mälumahtu olenemata sisendi suurusest. Silmus nõuab loendi iga üksuse esindamiseks ainult ühte muutujat (elementi) ja see ei loo täiendavaid andmestruktuure ega mälu, mis sõltuvad sisendloendi suurusest.

Kuva koos sep parameetriga in Print()

Funktsiooni print() parameeter sep võimaldab määrata prinditavate üksuste vahel eraldaja. 

Tärni (*) sümboli kasutamine võimaldab esitada loendi elemendid ühel real koos tühikutega. Kuvamiseks, kus iga element on uuel real või eraldatud komadega, kasutage vastavalt sep=”n” või sep=”, ”. 

Siin on näide puuviljade loendi kasutamisest:

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

Selles näites määrab sep=”, ”, et loendis olevate üksuste eraldajana tuleks kasutada koma ja tühikut.

Väljund:

Aja keerukus (O(n)):

Ajaline keerukus on O(n), kuna for-tsükliga töödeldakse iga loendi elementi eraldi. Kui elementide arv (n) kasvab, pikeneb täitmisaeg lineaarselt, peegeldades otsest seost sisendi suuruse ja arvutusaja vahel.

Ruumi keerukus (O(1)):

Ruumi keerukus on O(1), kuna algoritm kasutab ühtlast mälumahtu, sõltumata sisendi suurusest. Silmus kasutab fikseeritud muutujate komplekti (nagu "element") ja väldib täiendavate andmestruktuuride loomist või mälu dünaamilist eraldamist sisendi suurusest lähtuvalt.

Loendi kuvamine Pythonis funktsiooni Map() abil

Kasutage funktsiooni map() tagamaks, et iga loendi üksus on string, eriti kui loend sisaldab mittestringi elemente. Pärast seda ühendage need teisendatud elemendid ühendamise funktsiooni abil ühtseks kuvamiseks.

Siin on näide puuviljade loendi kuvamisest Pythonis:

# Example list of fruits

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

# Displaying the list of fruits

print("List of Fruits:", fruits)

Väljund:

Funktsioon print() vormindab loendi kuvamiseks automaatselt. Kui soovite väljundit veelgi kohandada, saate loendit korrata ja printida iga üksuse eraldi või kasutada liitmismeetodit, nagu on näidatud varasemates näidetes.

Kuvage Pythonis loend, kasutades indekseerimist ja viilutamist

Saate kuvada Pythonis loendi, kasutades indekseerimist ja viilutamist, et pääseda juurde konkreetsetele elementidele või loendi alamhulgale. 

Siin on näide:

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

Väljund:

Selles näites kasutatakse indekseerimist üksikutele elementidele juurde pääsemiseks (nt puuviljad[0] esimese elemendi jaoks) ja viilutamist loendi alamhulga kuvamiseks (nt puuviljad[1:4] indeksi 1 elementide jaoks, 2 ja 3).

Aja keerukus (O(n)):

Ajaline keerukus on O(n), kuna loendi itereerimine, kasutades indekseerimist või viilutamist, hõlmab iga elemendi ühekordset külastamist. Kui loendi (n) suurus suureneb, pikeneb aeg, mis kulub loendile juurdepääsuks või selle lõikamiseks.

Ruumi keerukus (O(1)):

Ruumi keerukus on indekseerimis- ja viilutamistoimingute jaoks O(1), kuna need kasutavad konstantset lisamälu, olenemata loendi suurusest. Indeksi/lõigu muutujate jaoks vajalik mälu jääb konstantseks, mitte skaleerita sisendi suurusega.

Kuvage Pythonis loend, kasutades loendi mõistmist

Loendi mõistmine on Pythoni lühike funktsioon loendite loomiseks, rakendades olemasoleva itereeritava iga üksuse jaoks avaldise. See pakub kompaktset süntaksit, mis ühendab endas uue loendi loomise ja selle elementidele teisenduse rakendamise.

Siin on näide muudetud puuviljade loendi kuvamisest loendi mõistmise abil:

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

Väljund:

Loendite kuvamine

Selles näites kasutatakse loendi mõistmist uue loendi loomiseks (suurtähtedega_puuviljad). Tulemuseks on puuviljade loend, mille nimed on kirjutatud suurtähtedega.

Aja keerukus (O(n)):

Selle näite ajaline keerukus on O(n), kuna see itereerib läbi iga elemendi algses puuviljade loendis. Täitmisaeg skaalatakse lineaarselt puuviljade arvuga, muutes selle võrdeliseks sisendloendi suurusega.

Ruumi keerukus (O(n)):

Ruumi keerukus on O(n), kuna loendi mõistmine loob uue loendi (suurtähtedega_puuviljad), mis kasvab koos sisendloendi (puuviljad) suurusega. Iga algse loendi element vastab uue loendi elemendile, mis aitab kaasa lineaarsele seosele sisendi suuruse ja kasutatud mälu vahel.

Järeldus

Pythonis on nimekirjade printimise oskus koodi mõistmiseks ja andmete visualiseerimiseks ülioluline. Selles juhendis on uuritud kuut tõhusat viisi loendite kuvamiseks, pakkudes praktilisi näiteid ja näpunäiteid selguse huvides. Olenemata sellest, kas kasutate silmuseid, stringide teisendamist, kohandatud eraldajaid, kaardifunktsioone, indekseerimist, viilutamist või loendi mõistmist, teenib iga lähenemisviis konkreetset eesmärki, parandades teie Pythoni programmeerimisoskusi.

Korduma kippuvad küsimused

Q1. Miks on loendite kuvamisel soovitatav kasutada loendist arusaamist?

A. Loendi mõistmine on soovitatav selle kokkuvõtliku süntaksi ja tõhususe tõttu. See võimaldab luua muudetud loendeid ühe koodireaga, muutes koodi loetavamaks.

Q2. Kuidas mõjutab indekseerimine loendi kuvamise ajalist keerukust?

A. Indekseerimise ajaline keerukus on O(1), et pääseda juurde üksikutele elementidele, mis tagab konstantse aja sõltumata loendi suurusest. Kogu loendi itereerimine indekseerimisega annab aga tulemuseks O(n) aja keerukuse.

Q3. Millal tuleks print() parameetrit sep kasutada?

V. Sep parameeter on kasulik, kui kohandate prinditud loendis olevate üksuste vahelist eraldajat. See võimaldab organiseeritud kuvamist, eriti kui esitate elemente ühel real või konkreetse eraldajaga.

Q4. Kas stringide loendi kuvamiseks on soovitatud meetodit?

V. Jah, stringide loendi kuvamiseks on soovitatav kasutada funktsiooni join(). See ühendab elemendid tõhusalt kindlaksmääratud eraldajaga, luues kuvamise hõlbustamiseks ühtse stringi.

K5: Kuidas mõjutab loendi mõistmine ruumi keerukust?

A5: loendi mõistmise ruumiline keerukus on O(n), kus n on sisendloendi suurus. See loob uue loendi, mis sisaldab sama arvu elemente kui algses loendis. Seetõttu aitab see kaasa lineaarsele seosele sisendi suuruse ja mälukasutuse vahel.

Ajatempel:

Veel alates Analüütika Vidhya