Pamācība par Python tukšo sarakstu - kā izveidot tukšu sarakstu Python

Ja vēlaties uzzināt, kā efektīvi izveidot tukšu sarakstu Python, šis raksts ir domāts jums.

Tu iemācīsies:

  • Kā izveidot tukšu sarakstu, izmantojot kvadrātiekavas [].
  • Kā izveidot tukšu sarakstu, izmantojot list().
  • To lietošanas gadījumi.
  • Cik efektīvi tie ir (viens ir ātrāks par otru!). Mēs tos izmantosim, timeitlai tos salīdzinātu.

Sāksim! ✨

? Kvadrātiekavu izmantošana

Varat izveidot tukšu sarakstu ar tukšiem kvadrātiekavu pāri, piemēram:  

? Padoms. Mēs piešķiram tukšu sarakstu mainīgajam, lai to vēlāk izmantotu mūsu programmā.

Piemēram:

num = []

Tukšajam sarakstam būs garums 0, kā redzat tieši šeit:

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

Tukši saraksti ir nepatiesas vērtības, kas nozīmē, ka tie tiek vērtēti Falseloģiskā kontekstā:

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

Pievienojiet elementus tukšam sarakstam

Jūs varat pievienot elementus, lai tukšu sarakstu, izmantojot metodes append()un insert():

  • append() pievieno elementu saraksta beigās.
  • insert() pievieno elementu konkrētajā izvēlētā saraksta indeksā.

Tā kā saraksti var būt patiesas vai nepatiesas vērtības atkarībā no tā, vai vērtēšanas laikā tie ir tukši vai nē, varat tos izmantot šādos nosacījumos:

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

Šī koda izeja ir:

This list is empty

Tā kā saraksts bija tukšs, tāpēc tas tiek novērtēts kā False.

Kopumā:

  • Ja saraksts nav tukšs, tas tiek novērtēts līdz True, tāpēc klauzula if tiek izpildīta.
  • Ja saraksts ir tukšs, tas tiek novērtēts līdz False, tāpēc tiek izpildīta cita klauzula.

Piemērs:

Zemāk esošajā piemērā mēs izveidojam tukšu sarakstu un piešķiram to mainīgajam num. Pēc tam, izmantojot cilpu for, mēs sākotnēji tukšajam sarakstam pievienojam elementu (veselu skaitļu) secību:

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

Mēs pārbaudām mainīgā vērtību, lai redzētu, vai vienumi ir veiksmīgi pievienoti, un apstiprinām, ka saraksts vairs nav tukšs:  

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

? Padoms: mēs parasti izmantojam, append()lai pievienotu pirmo elementu tukšam sarakstam, taču jūs varat arī pievienot šo elementu, izsaucot insert()metodi ar indeksu 0:

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

? Izmantojot sarakstu () Konstruktors

Varat arī izveidot tukšu sarakstu ar tipa konstruktoru list(), kas izveido jaunu saraksta objektu.

Saskaņā ar Python dokumentāciju:

Ja arguments netiek dots, konstruktors izveido jaunu tukšu sarakstu [].

? Padoms. Tādējādi atmiņā tiek izveidots jauns saraksta objekts, un tā kā mēs nenododam nevienu argumentu list(), tiks izveidots tukšs saraksts.

Piemēram:

num = list()

Šim tukšajam sarakstam būs garums 0, kā redzat tieši šeit:

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

Un tā ir nepatiesa vērtība, ja tā ir tukša (to vērtē FalseBūla kontekstā):

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

Piemērs:

Šis ir pilnībā funkcionējošs saraksts, tāpēc mēs varam tam pievienot elementus:

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

Rezultāts būs neiztukšots saraksts, kā redzat tieši šeit:

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

? Lietošanas gadījumi

  • Mēs parasti izmantojam, list()lai izveidotu sarakstus no esošām atkārtojamām versijām, piemēram, virknēm, vārdnīcām vai kopām.
  • Parasti []tukšos sarakstos Python tiek izmantoti kvadrātiekavas, jo šī sintakse ir kodolīgāka un ātrāka.

? Efektivitāte

Pagaidi! Es tikko teicu, ka tas []ir ātrāk nekā list()...

Bet cik daudz ātrāk?

Pārbaudīsim viņu laika efektivitāti, izmantojot timeit moduli.

Lai izmantotu šo moduli savā Python programmā, tas ir jāimportē:

>>> import timeit

Konkrēti, mēs izmantosim šī moduļa funkciju timeit, kuru varat izsaukt ar šo sintaksi:

? Padoms . Kods tiek atkārtots vairākas reizes, lai samazinātu laika atšķirības, kas var rasties no ārējiem faktoriem, piemēram, citiem procesiem, kas varētu darboties konkrētajā brīdī. Tas padara rezultātus ticamākus salīdzināšanas nolūkos.

? Uz jūsu atzīmēm ... sagatavojieties ... gatavs! Šeit ir kods un izvade:

Pirmkārt, mēs importējam moduli.

>>> import timeit

Tad mēs sākam pārbaudīt katru sintaksi.

Testēšana []:

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

Testēšana list():

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

? Padoms. Ievērojiet, ka kodam, kuru vēlaties noteikt, jāpievieno atsevišķas pēdiņas ''vai dubultās pēdiņas "". Funkcijas atgrieztais laiks timeittiek izteikts sekundēs.

Salīdziniet šos rezultātus:

  • []: 0.0008467000000109692
  • list(): 0.002867799999989984

Var redzēt, ka tas []ir daudz ātrāk nekā list(). 0.002Šajā testā bija aptuveni sekunžu atšķirība :

>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147

Esmu pārliecināts, ka jums tas jājautā tieši tagad: kāpēc tas ir list()mazāk efektīvs nekā []tad, ja viņi dara tieši to pašu?

Nu ... list()ir lēnāks, jo tas prasa meklēt funkcijas nosaukumu, izsaukt to un pēc tam atmiņā izveidot saraksta objektu. Turpretī tas []ir kā "īsceļš", kuram nav nepieciešams tik daudz starpposmu, lai izveidotu sarakstu atmiņā.

Šī laika starpība ļoti neietekmēs jūsu programmas sniegumu, taču ir patīkami zināt, kura no tām ir efektīvāka un kā viņi darbojas aiz ainas.

? Kopsavilkumā

Varat izveidot tukšu sarakstu, izmantojot tukšu kvadrātiekavu pāri []vai tipa konstruktoru list()- iebūvētu funkciju, kas izveido tukšu sarakstu, kad netiek nodoti argumenti.

[]Python parasti izmanto kvadrātiekavas, lai izveidotu tukšus sarakstus, jo tas ir ātrāks un kodolīgāks.

Es ļoti ceru, ka jums patika mans raksts un jums tas noderēja. Tagad Python projektos varat izveidot tukšus sarakstus. Apskatiet manus tiešsaistes kursus. Seko man Twitter. ⭐️

Ja vēlaties ienirt dziļāk sarakstos, ieteicams izlasīt:

  • Python saraksta papildinājums - kā elementam pievienot masīvu, paskaidrots ar piemēriem
  • Python šķirošanas saraksta metode - augšupejošs un dilstošs skaidrojums ar piemēriem
  • Python saraksta pievienošana VS Python saraksta paplašināšana - atšķirība, kas izskaidrota ar masīva metodes piemēriem