Python

Sarakstiet izpratni Python

Sarakstiet izpratni Python
Sarakstu izpratne Python bieži tiek izmantota, lai rakstītu vienas rindas paziņojumus, kas izveido jaunu sarakstu vai vārdnīcu, piesaistot atkārtojamu objektu. Šajā rakstā tiks paskaidrots, kā izmantot saraksta izpratni Python, sākot ar pamata skaidrojumu par to, kā cilpas darbojas Python.

Par cilpu Python

A for loop paziņojums Python secīgi atkārto jebkura objekta, saraksta, virknes utt. Locekļus. Salīdzinājumā ar citām programmēšanas valodām, tā sintakse ir daudz tīrāka, un tam nav nepieciešams manuāli noteikt atkārtojuma darbības un sākt atkārtojumu. Lai gan ir veidi, kā padarīt tās uzvedību tādu pašu kā citas programmēšanas valodas (šajā rakstā tas netiks aplūkots). Jūs varat arī kontrolēt cilpas, izmantojot tādus izteikumus kā turpināt, pārtraukt, nodot utt. Zemāk ir vienkāršs cilpas piemērs Python:

x diapazonā (10):
drukāt (x)

Iepriekš norādītā cilpa for for printēs desmit skaitļus, sākot no 0 un beidzot ar 9.

Uzskaitiet izpratni

Saraksta izpratne ir nekas cits kā īss / kodolīgs veids, kā rakstīt vairāku rindu cilpām vienas līnijas paziņojumā. Tālāk redzamais saraksta izpratnes piemērs izveidos jaunu sarakstu ar [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], iekļaujot tajā visas “x” vērtības.

skaitļi = [x x x diapazonā (10)]
drukāt (numuri)

Ņemiet vērā, ka izpratne par sarakstu vienmēr izveido jaunu sarakstu un nemaina sākotnējās atkārtojumā izmantotās iterācijas. Tipiskam saraksta izpratnes izteicienam ir jābūt klauzulai “par”, un tam var sekot nosacījuma paziņojumi “ja” un “cits”. Nelietojot izpratni par sarakstu, iepriekš minētais piemērs tiks rakstīts šādi:

skaitļi = []
x diapazonā (10):
numuri.pievienot (x)
drukāt (numuri)

Veiktspēja un lasāmība

Sarakstu izpratne notiek ātrāk nekā cikliem. Tomēr, ja vien jūs neatkārtojat simtiem tūkstošu vienumu, jūs nepamanīsit lielus veiktspējas uzlabojumus. Kaut arī saraksta izpratne sniedz kodolīgu veidu, kā rakstīt cilpām, sarežģītas izteiksmes var izraisīt sliktu koda lasāmību un palielinātu daudzbalsību. Ir svarīgi saglabāt koda lasāmību, ja vien jūsu programmai nav absolūti nepieciešama maksimāla veiktspēja.

Piemērs: saraksta izpratnes sintakses izmantošana ar vārdnīcām un kopām

Pitona vārdnīca ir elementu kolekcija, kas definēta atslēgu un vērtību pāros, savukārt kopa ir unikālu vērtību kolekcija, kur dublikāti nav atļauti. Sarakstu izpratni var izmantot arī ar Python vārdnīcām un kopām. Sintakse nedaudz atšķiras, tā vietā, lai ietītu izteiksmi kvadrātveida lencēs, tagad jums būs jāizmanto cirtainās lencītes. Jūs saņemsiet arī jaunu vārdnīcu / iestatītu objektu jauna saraksta vietā.

data = "city": "Ņujorka", "name": "john doe"
formatted_data = k: v.nosaukums () datos k, v.vienumi ()
drukāt (formatēti_dati)

Iepriekš sniegtajā piemērā virknes vērtības tiks pārvērstas par lielo burtu un izveidota jauna vārdnīca ar nosaukumu “formatted_data”, kuras izeja būs: 'city': 'New York', 'name': 'John Doe'. Vārdnīcu / iestatījumu var mainīt arī kreisajā pusē norādot esošo vārdnīcas mainīgo.

data = "city": "Ņujorka", "name": "john doe"
dati = k: v.nosaukums () k, v datos.vienumi ()
drukāt (dati)

Neizmantojot vārdnīcu izpratni, kods izskatīsies šādi:

data = "city": "Ņujorka", "name": "john doe"
formatted_data =
par k, v datos.preces ():
formatētie_dati [k] = v.nosaukums ()
drukāt (formatēti_dati)

Tā kā kopās nav atslēgu un vērtību pāru, kopas izpratni var definēt tāpat kā saraksta izpratni. Vienīgā atšķirība ir cirtaino lencīšu izmantošana.

Piemērs: Vairāki cilpām saraksta izpratnē

Iepriekš minētais saraksta izpratnes piemērs ir vienkāršs, un tajā tiek izmantots viens paziņojums “par”. Tālāk ir sniegts piemērs, kurā cilpām tiek izmantoti vairāki un nosacītais paziņojums “ja”.

īpašības vārdi = ["Disco", "Eoan", "Focal", "Artful"]
dzīvnieki = ["Dingo", "Ermine", "Fossa", "Bebrs"]
kodvārdi = [x + "" + y x dzīvniekiem y īpašības vārdos, ja y.startswith (x [0])]
drukāt (koda nosaukumi)

Kods parādīs ['Disco Dingo', 'Eoan Ermine', 'Focal Fossa'] kā izvadi. Divas cilpām iet pa “īpašības vārdu” un “dzīvnieku” sarakstiem, un to dalībnieki tiek savienoti kopā, izmantojot atstarpi, tikai tad, ja abu vārdu pirmais burts ir vienāds. Neizmantojot saraksta izpratni, kods izskatās šādi:

īpašības vārdi = ["Disco", "Eoan", "Focal", "Artful"]
dzīvnieki = ["Dingo", "Ermine", "Fossa", "Bebrs"]
kodvārdi = []
par x īpašības vārdos:
y dzīvniekiem:
ja y.startswith (x [0]):
koda nosaukumi.pievienot (x + "" + y)
drukāt (koda nosaukumi)

Piemērs: saraksta izpratne ar klauzulu if-else

Tālāk sniegtajā piemērā tiks parādīts if un else paziņojumu lietojums saraksta izpratnē.

skaitļu_skaitlis = [1, 2, 3, 4]
cits_skaitlis = [5, 6, 7, 8]
rezultāts = [Patiesi, ja (x + y)% 2 == 0 cits Nepatiesa vērtība x skaitļa sarakstā y citam sarakstam]
izdrukāt (rezultāts)

Pārlūkojot divus sarakstus, iepriekšminētā saraksta izpratne pārbauda, ​​vai elementu pāra summa ir vienmērīga vai nē. Palaidot iepriekš minēto kodu, jūs redzēsit [True, False, True, False, False, True, False, True, True, False, True, False, False, True, False, True]. Neizmantojot saraksta izpratni, kods izskatīsies šādi:

skaitļu_skaitlis = [1, 2, 3, 4]
cits_skaitlis = [5, 6, 7, 8]
rezultāts = []
x skaitļu sarakstā:
y citā sarakstā:
ja (x + y)% 2 == 0:
rezultāts.pievienot (True)
cits:
rezultāts.pievienot (False)
izdrukāt (rezultāts)

Secinājums

Sarakstu izpratne nodrošina jauku veidu, kā rakstīt tīrus un kodolīgus paziņojumus. Tomēr tie var ātri kļūt sarežģīti un grūti saprotami, ja tiek izmantotas vairākas cilpas un nosacītie paziņojumi. Galu galā tas attiecas uz programmētāja komforta līmeni, taču parasti ir ieteicams rakstīt skaidru, lasāmu un viegli atkļūdojamu kodu, nevis pārmērīgi izmantot īsrakstus.

Noderīgi rīki Linux spēlētājiem
Ja jums patīk spēlēt spēles Linux, iespējams, ka spēļu pieredzes uzlabošanai, iespējams, esat izmantojis tādas lietotnes un utilītprogrammas kā Wine, ...
HD Remastered spēles operētājsistēmai Linux, kurām nekad agrāk nebija Linux laidiena
Daudzi spēļu izstrādātāji un izdevēji nāk klajā ar veco spēļu HD remaster, lai pagarinātu franšīzes darbības laiku. Lūdzu, faniem, kas pieprasa saderī...
Kā izmantot AutoKey, lai automatizētu Linux spēles
AutoKey ir darbvirsmas automatizācijas lietderība operētājsistēmām Linux un X11, kas ieprogrammēta Python 3, GTK un Qt. Izmantojot skriptu un MACRO fu...