Pythoni tühjade loendite õpetus - kuidas luua Pythonis tühi loend

Kui soovite õppida, kuidas Pythonis tühja loendit tõhusalt luua, siis see artikkel on mõeldud teile.

Sa õpid:

  • Kuidas luua nurksulgudes tühja loendit []?
  • Kuidas luua tühja loendi abil list().
  • Nende kasutamise juhtumid.
  • Kui tõhusad nad on (üks on kiirem kui teine!). timeitNende võrdlemiseks kasutame moodulit.

Alustagem! ✨

? nurksulgude kasutamine

Tühja nurksulgude paariga saate luua tühja loendi:  

? Nõuanne: Määrame muutujale tühja loendi, et seda hiljem meie programmis kasutada.

Näiteks:

num = []

Tühja loendi pikkus on 0, nagu näete siin:

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

Tühjad loendid on valeväärtused , mis tähendab, et need hindavad Falsetõeväärtuse kontekstis:

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

Lisage elemendid tühja loendisse

Saate lisada elemente tühja nimekirja meetodite abil append()ja insert():

  • append() lisab elemendi loendi lõppu.
  • insert() lisab elemendi valitud loendi konkreetsesse indeksisse.

Kuna loendid võivad olla kas tõesed või valed väärtused, olenevalt sellest, kas need on hindamisel tühjad või mitte, saate neid kasutada järgmistes tingimuses:

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

Selle koodi väljund on:

This list is empty

Kuna loend oli tühi, on selle väärtuseks vale.

Üldiselt:

  • Kui loend pole tühi, annab see hinnangu True, nii et if-klausel täidetakse.
  • Kui loend on tühi, annab see hinnangu False, seega täidetakse muu klausel.

Näide:

Allpool toodud näites loome tühja loendi ja määrame selle muutujale num. Seejärel lisame for loopi jaoks algselt tühja loendisse elementide (täisarvude) jada:

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

Kontrollime muutuja väärtust, et näha, kas üksused on edukalt lisatud, ja kinnitame, et loend pole enam tühi:  

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

? Nõuanne: me kasutame tavaliselt append()esimese elemendi lisamist tühja loendisse, kuid saate lisada ka selle elemendi, kutsudes insert()meetodit koos indeksiga 0:

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

? Loendi () Constructor kasutamine

Teise võimalusena saate luua tüübi konstruktoriga tühja loendi list(), mis loob uue loendi objekti.

Vastavalt Pythoni dokumentatsioonile:

Kui argumenti ei esitata, loob konstruktor uue tühja loendi [].

? Nõuanne: see loob mällu uue loendiobjekti ja kuna me ei edastanud ühtegi argumenti list(), luuakse tühi loend.

Näiteks:

num = list()

See tühi loend on pikk 0, nagu näete siin:

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

Ja see on vale väärtus, kui see on tühi (seda hinnatakse Falsetõeväärtuse kontekstis):

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

Näide:

See on täielikult toimiv loend, nii et saame sinna lisada elemente:

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

Ja tulemuseks on mittetühi nimekiri, nagu näete siin:

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

? Kasutusjuhud

  • Tavaliselt kasutame list()loendite loomiseks olemasolevatest korduvatest failidest, näiteks stringidest, sõnaraamatutest või ühikutest.
  • Tavaliselt näete []Pythonis tühjade loendite loomiseks nurksulgusid, kuna see süntaks on lühem ja kiirem.

? Tõhusus

Oota! Ma just ütlesin teile, et see []on kiirem kui list()...

Aga kui palju kiiremini?

Kontrollime nende ajaefektiivsust ajamooduli abil .

Selle mooduli kasutamiseks oma Pythoni programmis peate selle importima:

>>> import timeit

Täpsemalt kasutame selle mooduli funktsiooni timeit, mida saate selle süntaksiga kutsuda:

? Nõuanne . Koodi korratakse mitu korda, et vähendada väliseid tegureid, näiteks muid protsesse, mis võivad sellel hetkel töötada, tekkida võivaid ajaerinevusi . See muudab tulemused võrdlemise eesmärgil usaldusväärsemaks.

? Märkide peal ... seadke ennast valmis! Siin on kood ja väljund:

Esiteks impordime mooduli.

>>> import timeit

Seejärel alustame iga süntaksi testimist.

Testimine []:

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

Testimine list():

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

? Nõuanne. Pange tähele, et kood, mille soovite ajastada, peab olema ümbritsetud üksikute ''või topelt jutumärkidega "". Funktsiooni tagastatud aega timeitväljendatakse sekundites.

Võrrelge neid tulemusi:

  • []: 0.0008467000000109692
  • list(): 0.002867799999989984

Näete, et see []on palju kiirem kui list(). 0.002Selles testis oli umbes sekundite vahe :

>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147

Olen kindel, et te peate seda kohe küsima: miks see on list()vähem tõhus kui []siis, kui nad teevad täpselt sama?

Noh ... list()on aeglasem, kuna see nõuab funktsiooni nime otsimist, sellele helistamist ja seejärel loendis oleva objekti loomist mällu. Seevastu []on nagu "otsetee", mis ei vaja loendi loomiseks mällu nii palju vaheetappe.

See ajavahe ei mõjuta teie programmi toimimist väga, kuid on tore teada, milline neist on tõhusam ja kuidas nad kulisside taga toimivad.

? Kokkuvõttes

Tühja loendi saate luua tühjade nurksulgude paari []või tüübikonstruktori abil list()- sisseehitatud funktsioon, mis loob tühja loendi, kui argumente pole edastatud.

[]Tühjade loendite loomiseks kasutatakse Pythonis tavaliselt nurksulgusid, kuna see on kiirem ja lühem.

Loodan väga, et teile meeldis minu artikkel ja see oli teile kasulik. Nüüd saate oma Pythoni projektides luua tühje loendeid. Vaadake minu veebikursusi. Jälgi mind Twitteris. ⭐️

Kui soovite loenditesse sügavamale sukelduda, võiksite lugeda järgmist:

  • Pythoni loendi lisamine - kuidas lisada massiivi elementi, mida on selgitatud näidetega
  • Pythoni sortimisloendi massiivi meetod - kasvav ja kahanev, selgitatud näidetega
  • Pythoni loendi lisamine VS Pythoni loendi laiendamine - erinevus massiivi meetodi näidetega selgitatud