Pythonin tyhjien luetteloiden opetusohjelma - Kuinka luoda tyhjä luettelo Pythonissa

Jos haluat oppia luomaan tyhjän luettelon Pythonissa tehokkaasti, tämä artikkeli on sinulle.

Sinä tulet oppimaan:

  • Kuinka luoda tyhjä luettelo hakasulkeilla [].
  • Kuinka luoda tyhjä luettelo list().
  • Niiden käyttötapaukset.
  • Kuinka tehokkaita ne ovat (toinen on nopeampi kuin toinen!). Käytämme timeitmoduulia niiden vertaamiseen.

Aloitetaanpa! ✨

Square Käytä hakasulkeita

Voit luoda tyhjän luettelon tyhjillä hakasulkeilla, kuten tämä:  

? Vihje: Annamme tyhjän luettelon muuttujalle, jotta sitä voidaan käyttää myöhemmin ohjelmassa.

Esimerkiksi:

num = []

Tyhjän luettelon pituus on 0, kuten näet täältä:

>>> num = [] >>> len(num) 0

Tyhjät luettelot ovat virheellisiä arvoja, mikä tarkoittaa, että ne arvioivat Falsetotuusarvoon:

>>> num = [] >>> bool(num) False

Lisää elementtejä tyhjään luetteloon

Voit lisätä elementtejä tyhjään luetteloon menetelmillä append()ja seuraavasti insert():

  • append() lisää elementin luettelon loppuun.
  • insert() lisää elementin valitsemasi luettelon tiettyyn hakemistoon.

Koska luettelot voivat olla joko tosi- tai virheellisiä arvoja riippuen siitä, ovatko ne tyhjiä vai ei, kun ne arvioidaan, voit käyttää niitä seuraavissa ehdoissa:

if num: print("This list is not empty") else: print("This list is empty")

Tämän koodin lähtö on:

This list is empty

Koska luettelo oli tyhjä, se arvioi arvon False.

Yleisesti:

  • Jos luettelo ei ole tyhjä, se arvioi True, joten if-lauseke suoritetaan.
  • Jos luettelo on tyhjä, se arvioi arvon False, joten muu lauseke suoritetaan.

Esimerkki:

Alla olevassa esimerkissä luomme tyhjän luettelon ja osoitamme sen muuttujalle num. Sitten lisätään for for -silmukkaa alkuaineiden (kokonaislukujen) sarja alun perin tyhjään luetteloon:

>>> num = [] >>> for i in range(3, 15, 2): num.append(i)

Tarkistamme muuttujan arvon nähdäksesi, onko kohteet liitetty onnistuneesti, ja varmistamme, että luettelo ei ole enää tyhjä:  

>>> num [3, 5, 7, 9, 11, 13]

? Vinkki: Käytämme yleensä append()ensimmäisen elementin lisäämistä tyhjään luetteloon, mutta voit myös lisätä tämän elementin kutsumalla insert()menetelmää hakemistolla 0:

>>> num = [] >>> num.insert(0, 1.5) # add the float 1.5 at index 0 >>> num [1.5]

? Luettelon () Rakentaja käyttäminen

Vaihtoehtoisesti voit luoda tyhjän luettelon tyypin konstruktorilla list(), joka luo uuden luettelo-objektin.

Python-dokumentaation mukaan:

Jos argumenttia ei anneta, rakentaja luo uuden tyhjän luettelon [].

? Vinkki: Tämä luo uuden luettelo-objektin muistiin, ja koska emme välittäneet argumentteja list(), luodaan tyhjä luettelo.

Esimerkiksi:

num = list()

Tämä tyhjä luettelo on pituinen 0, kuten näet täältä:

>>> num = list() >>> len(num) 0

Ja se on väärä arvo, kun se on tyhjä (se arvioi Falseloogisessa kontekstissa):

>>> num = list() >>> bool(num) False

Esimerkki:

Tämä on täysin toimiva luettelo, joten voimme lisätä siihen elementtejä:

>>> num = list() >>> for i in range(3, 15, 2): num.append(i)

Ja tulos on tyhjä luettelo, kuten näet täältä:

>>> num [3, 5, 7, 9, 11, 13]

? Käytä koteloita

  • Käytämme yleensä list()luetteloiden luomista olemassa olevista iteraaaleista, kuten merkkijonoista, sanakirjoista tai tuplista.
  • Näet yleisesti hakasulkeita, []joita käytetään tyhjien luetteloiden luomiseen Pythonissa, koska tämä syntakse on ytimekkäämpi ja nopeampi.

? Tehokkuus

Odota! Sanoin juuri, että []on nopeampi kuin list()...

Mutta kuinka paljon nopeammin?

Tarkistetaan heidän aikatehokkuudensa timeit- moduulin avulla.

Jos haluat käyttää tätä moduulia Python-ohjelmassa, sinun on tuotava se:

>>> import timeit

Käytämme erityisesti tämän moduulin timeit-toimintoa, johon voit soittaa tällä syntaksilla:

? Vinkki: Koodi toistetaan useita kertoja vähentääkseen aikaeroja, jotka saattavat johtua ulkoisista tekijöistä, kuten muista kyseisenä hetkenä mahdollisesti käynnissä olevista prosesseista. Tämä tekee tuloksista luotettavampia vertailua varten.

? Merkkeihisi ... valmistaudu ... valmiiksi! Tässä on koodi ja lähtö:

Ensin tuomme moduulin.

>>> import timeit

Sitten aloitamme jokaisen syntaksin testaamisen.

Testaus []:

>>> timeit.timeit('[]', number=10**4) 0.0008467000000109692

Testaus list():

>>> timeit.timeit('list()', number=10**4) 0.002867799999989984

? Vinkki: Huomaa, että ajoitettavan koodin täytyy olla yksittäisten ''tai kaksoislainausten ympäröimä "". timeitFunktion palauttama aika ilmaistaan ​​sekunteina.

Vertaa näitä tuloksia:

  • []: 0.0008467000000109692
  • list(): 0.002867799999989984

Voit nähdä, että []on paljon nopeampi kuin list(). 0.002Tässä testissä oli noin sekuntien ero :

>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147

Olen varma, että sinun on kysyttävä tätä juuri nyt: miksi se on list()vähemmän tehokasta kuin []jos he tekisivät täsmälleen saman asian?

No ... list()on hitaampaa, koska se vaatii funktion nimen etsimistä, kutsumista ja sitten luettelo-objektin luomista muistiin. Sen sijaan se []on kuin "pikakuvake", joka ei vaadi niin monta välivaihetta luettelon luomiseen muistiin.

Tämä aikaero ei vaikuta kovin paljon ohjelman suorituskykyyn, mutta on mukava tietää, kumpi on tehokkaampi ja miten he työskentelevät kulissien takana.

? Yhteenvetona

Voit luoda tyhjän luettelon tyhjillä hakasulppapareilla []tai tyypin konstruktorilla list(), sisäänrakennetulla funktiolla, joka luo tyhjän luettelon, kun argumentteja ei välitetä.

Hakasulkeita []käytetään yleisesti Pythonissa tyhjien luetteloiden luomiseen, koska se on nopeampi ja ytimekkäämpi.

Toivon todella, että pidit artikkelistani ja pidit siitä hyödyllisenä. Nyt voit luoda tyhjiä luetteloita Python-projekteihisi. Tutustu verkkokursseihini. Seuraa minua Twitterissä. ⭐️

Jos haluat sukeltaa syvemmälle luetteloihin, voit lukea:

  • Python-luettelon liite - elementin lisääminen matriisiin, selitetty esimerkeillä
  • Pythonin lajittelulistaryhmämenetelmä - nouseva ja laskeva esimerkkien avulla
  • Python-luettelon liittäminen VS: ään Python-luettelon laajennus - ero, joka selitetään taulukkoesimerkkien esimerkkien avulla