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.