Pou bouk nan Python

Bouk For nan Python gen kèk karakteristik diferan pase lòt lang pwogramasyon. Mwen kite ou sa m ap aprann pou jwenn pi plis nan youn nan bouk ki pi itilize yo.

Nan Python li gen entansyon iterasyon atravè yon objè iterable, kit se yon lis, yon objè, oswa yon lòt eleman.

Estrikti sa a se

h2=[ 'Valencia', 'Castellón', 'Alicante']

for j in h2:
   instructions

Isit la h2 se yon eleman iterabl pou egzanp yon lis h2=[ 'Valencia', 'Castellón', 'Alicante']. Bouk la pral gen 3 iterasyon, nan premye j=Valencia nan dezyèm varyab j=Castellón.

Ak sa a nou ka defini enstriksyon yo nou vle, toujou sonje endentasyon an, yon bagay esansyèl nan Python ak ke anpil moun inyore, jwenn erè nan kòd la.

Itere pou bouk yon kantite egzak de fwa.

Si nou vle li repete yon sèten kantite fwa jan nou ka fè nan C++ nou pral oblije sèvi ak ranje (). Pou repete 10 fwa nou ta itilize a

for element in Range(9):
    instructions

Nou mete 9 epi pa 10 paske Range kòmanse soti nan 0, kidonk soti nan 0 a 9 gen 10 iterasyon oswa vire nan bouk la.

Konnen Range() pèmèt nou, olye pou nou mete yon nimewo andedan, mete yon varyab, kidonk nou pral gen plis kontwòl.

var = 10
for element in Range(var):
    instructions

Fonksyon an Range gen anpil opsyon, mwen pral pale sou li nan yon lòt pòs, pou yo pa melanje kontni an epi devlope li otank posib.

Anpil plis ka fè pou kontwole flux de boucle for a.

Deklarasyon Break and Continue

Gen 2 karakteristik trè itil ki pèmèt nou fè yon bouk pou trè fonksyonèl, fon an kraze ak kontinye a. Yo anjeneral yo itilize ak kondisyonèl, si, tcheke si yon bagay se vre.

Yo travay nan lòt bouk, epi gen yon lòt deklarasyon enteresan ki pase, ki se yon deklarasyon ki egzekite men pa fè anyen epi ki ideyal pou lè nou vle defini yon estrikti ki mande kòmand men nou vle mete yo pita (kòmantè yo se pa itil pou sa)

Pak

Avèk break nou ka sòti bouk la nenpòt ki lè. Kòm ou imajine trè itil. Se vre ke gen lòt estrikti tankou Pandan,

numeros = [1, 2, 4, 3, 5, 8, 6]
for n in numeros:
    if n == 3:
        break
else:
    print('No se encontró el número 3')

Kontinye

Li fè nou ale nan pwochen eleman nan bouk la.

numeros = [1, 2, 4, 3, 5, 8, 6]
for n in numeros:
    if n == 3:
        continue
else:
    print('No se encontró el número 3')

https://j2logo.com/bucle-for-en-python/

Pou… lòt bagay

Gen yon estrikti ki sòti nan Pou, ki se pou ... lòt bagay

datos = [1, 2, 3, 4, 5]
for n in datos:
    if n == 2:
        break
else:
    print('No hay 2')

Estrikti sa a te parèt apre yo te wè li nesesè e ke anpil moun t ap itilize lòt fason pou reyalize sa. Kidonk, yo ede moun epi jwenn yon kòd ki pi lizib

pou _ nan iterabl

Mwen te wè sa nan kèk pwogram byenke mwen pa janm itilize li.

Lè n ap repete yon objè, lis, diksyonè, elatriye, men kontni eleman sa yo pa enterese nou, nou ka endike li ak _

Yon egzanp:

Nou vle konte eleman yo nan yon lis men nou pa pran swen sa li genyen, nou jis vle longè li.

h2=[ 'Valencia', 'Castellón', 'Alicante']
count = 0
for _ in h2:
    cont += 1

Nan anpil sit yo rekòmande pou pa abize pratik sa a. Mwen vrèman pa konnen avantaj li prezante, èske li pi vit?

bouk bak

bak pou bouk. Pou repete depi nan fen rive nan kòmansman an

Li itilize fonksyon ranvèse () prezante nan python 3

h2=[ 'Valencia', 'Castellón', 'Alicante']

for j in reversed(h2):
    print (j)

Looping ak de endis, valè iterable a ak endèks

Avèk enumerate() nou ka travay ak endis yo nan yon koleksyon. Paske anpil fwa, anplis valè objè iterable tèt li, nou enterese nan endèks li yo.

h2=[ 'Valencia', 'Castellón', 'Alicante']

for j, h in enumerate(h2):
    print j, '-->', h2[i] 

Iterasyon sou 2 lis

Yon lòt opsyon trè enteresan se zip() ki pral fè travay nou pi fasil epi ki pral fè kòd nou an pi senp ak plis lizib.

h2=[ 'Valencia', 'Castellón', 'Alicante']
cod=[100, 200, 300]

for j, h in zip(h2, cod):
    print h2, '-->', cod 

Nan Python 2.x izip() te itilize pou amelyore fonksyon sa a, men nan Python 3 izip se zip()

Boukle nan lòd klase

Iterasyon nan lòd pa valè objè a olye pou yo pa endèks li. klase () yo itilize

colors = ['rojo', 'amarillo', 'verde']

for color in sorted(colors):
    print color

Men, si nou vle fè li bak

colors = ['rojo', 'amarillo', 'verde']

for color in sorted(colors, reverse=True):
    print color

Lòd sòt koutim

colors = ['rojo', 'amarillo', 'verde']

for color in sorted(colors, key=len):
    print color

Valè Sentinel nan pou bouk

Valè sentinèl la se yon valè ki lakòz bouk la fini. Li se anjeneral prezante nan yon bouk pandan y ap, men Raymond Hettinger montre nou ki jan yo sèvi ak li ak yon for, ki se pi vit.

blocks = []
for block in iter(partial(f.read, 32), ''):
    blocks.append(block)
    print (block)

Traverse diksyonè ak pou

Diksyonè yo se zouti esansyèl pou eksprime relasyon ak fè gwoupman.

Ou ka ale nan diksyonè a nan yon fason tradisyonèl ak pou, men sa pa pral retounen tout enfòmasyon yo, nou pa yo pral kapab travay ak valè ak endis tankou sa a, si nou pa kòmanse ajoute kontè ak lòt eleman.

d = {'casa': 'azul', 'coche': 'rojo', 'hombre': 'verde'}

for k in d.keys():
    if k.startswith('r'):
        del d[k]

Nan fason sa a, anplis wè eleman yo, nou ka modifye diksyonè a lè nou chanje eleman oswa efase yo, an menm tan ke bouk for a repete.

d.keys() rele agiman yo epi fè yon kopi ke li magazen nan yon lis ke nou ka modifye.

Pou jwenn endis ak valè olye de yon bagay tradisyonèl e se premye bagay ki vin nan tèt nou pou nou menm ki kòmanse pwograme.

for k in d:
    print k, '-->', d[k]

Nou pral sèvi ak opsyon sa a pi vit

for k, v in d.items():
    print k, '-->', v

iteritems() pase atik()

Pale sou Loops nan Python pa Raymond Hettinger

Li se yon videyo ansyen men trè ilistratif, kote nan premye 20 minit yo Raymond Hettinger anseye nou diferan posiblite yo nan bouk nan Python epi li ban nou egzanp sou fason yo transfòme estrikti lajman itilize pa moun nan fonksyon, pou fè bouk la pi lizib ak pi senp. .kod.

Si ou se yon moun ki san pwoblèm tankou nou epi ou vle kolabore nan antretyen ak amelyorasyon nan pwojè a, ou ka fè yon don. Tout lajan an pral ale nan achte liv ak materyèl pou fè eksperyans ak fè leson patikilye

Kite yon kòmantè