Alang sa loop sa Python

Ang For loop sa Python adunay pipila ka lainlaing mga bahin kaysa sa ubang mga programming language. Gibilin ko kanimo kung unsa ang akong nakat-unan aron makuha ang labing kaayo sa usa sa labing gigamit nga mga loop.

Sa Python gituyo kini nga mag-usab-usab pinaagi sa usa ka iterable nga butang, kini usa ka lista, usa ka butang, o laing elemento.

Ang mosunod nga istruktura mao ang

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

for j in h2:
   instructions

Dinhi ang h2 usa ka iterable nga elemento pananglitan usa ka lista h2=[ 'Valencia', 'Castellón', 'Alicante']. Ang loop adunay 3 nga mga pag-usab, sa una nga j=Valencia sa ikaduha ang variable j=Castellón.

Ug uban niini mahimo namong ipasabut ang mga panudlo nga gusto namon, kanunay nga nahinumdom sa indentation, usa ka butang nga hinungdanon sa Python ug nga daghang mga tawo ang wala magtagad, nakakuha mga sayup sa code.

Balika ang loop sa eksaktong gidaghanon sa mga higayon.

Kung gusto namon nga kini masubli sa usa ka piho nga gidaghanon sa mga higayon sama sa mahimo namon sa C ++ kinahanglan namon nga gamiton ang range (). Sa pag-uli sa 10 ka beses atong gamiton ang a

for element in Range(9):
    instructions

Gibutang namon ang 9 ug dili 10 tungod kay ang Range nagsugod sa 0, busa gikan sa 0 hangtod 9 adunay 10 nga mga pag-uli o pagliko sa loop.

Ang Knowing Range() nagtugot kanato, imbes nga magbutang ug numero sa sulod, magbutang ug variable, diin kita adunay labaw nga kontrol.

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

Ang Range function adunay daghang mga kapilian, hisgutan ko kini sa lain nga post, aron dili masagol ang sulud ug mapalambo kini kutob sa mahimo.

Daghan pa ang mahimo aron makontrol ang dagan sa for loop.

Pagputol ug Pagpadayon sa mga Pahayag

Adunay 2 ka mapuslanon kaayo nga mga bahin nga nagtugot kanamo sa paghimo sa usa ka para loop nga magamit kaayo, fon sa break ug sa pagpadayon. Kasagaran kini gigamit nga adunay mga kondisyon, kung, pagsusi kung ang usa ka butang tinuod.

Nagtrabaho sila sa ubang mga loop, ug adunay lain nga makapaikag nga pahayag nga pass, nga usa ka pahayag nga gipatuman apan wala’y nahimo ug maayo kung gusto naton ipasabut ang usa ka istruktura nga nanginahanglan mga mando apan gusto namon nga ibutang kini sa ulahi (mga komento ang dili mapuslanon alang niini)

break

Uban sa break mahimo kitang mogawas sa loop bisan unsang orasa. Sama sa imong gihunahuna nga mapuslanon kaayo. Tinuod nga adunay ubang mga istruktura sama sa While,

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')

Padayon

Kini naghimo kanato nga moadto sa sunod nga elemento sa loop.

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/

Alang sa ... uban pa

Adunay usa ka istruktura nga nakuha gikan sa Alang, nga alang sa ... lain pa

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

Kini nga estraktura mitumaw human nila nakita nga kini gikinahanglan ug nga daghang mga tawo ang naggamit ug alternatibong mga paagi aron makab-ot kini. Sa ingon, gitabangan nila ang mga tawo ug makakuha usa ka labi nga mabasa nga code

kay _ sa iterable

Nakita nako kini sa pipila ka mga programa bisan wala pa nako kini gigamit.

Kung nagbalikbalik kami sa usa ka butang, lista, diksyonaryo, ug uban pa, apan ang sulud sa mga elemento dili makapainteres kanamo, mahimo naton ipakita kini sa _

Usa ka pananglitan:

Gusto namong ihap ang mga elemento sa usa ka lista apan dili namo igsapayan kung unsa ang sulod niini, gusto lang namo ang gitas-on niini.

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

Sa daghang mga site ilang girekomenda nga dili abusohan kini nga praktis. Wala gyud ko kahibalo sa mga bentaha nga gihatag niini, mas paspas ba?

nag-loop sa likod

paatras para sa loop. Pag-uli gikan sa katapusan hangtod sa sinugdanan

Gigamit niini ang reversed() function nga gipaila sa python 3

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

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

Pag-loop nga adunay duha ka mga indeks, ang kantidad sa iterable ug indeks

Uban sa enumerate() makatrabaho kami sa mga indeks sa usa ka koleksyon. Tungod kay sa daghang mga higayon, dugang sa kantidad sa iterable nga butang mismo, interesado kami sa indeks niini.

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

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

Pag-uli sa 2 ka lista

Ang laing makapainteres nga kapilian mao ang zip() nga makapasayon ​​sa atong trabaho ug maghimo sa atong code nga mas simple ug mas mabasa.

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

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

Sa Python 2.x ang izip() gigamit aron mapalambo kini nga function, apan sa Python 3 izip ang zip()

Pag-loop sa han-ay nga han-ay

Pag-uli sa han-ay pinaagi sa kantidad sa butang imbes sa indeks niini. gigamit ang sorted().

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

for color in sorted(colors):
    print color

Ug kung gusto nato nga buhaton kini sa likod

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

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

Pasadya nga pagkahan-ay

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

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

Sentinel Value para sa loop

Ang sentinel nga kantidad usa ka kantidad nga hinungdan sa pagtapos sa loop. Kini kasagarang gipresentar sa usa ka while loop, apan si Raymond Hettinger nagpakita kanato kon unsaon kini paggamit sa usa ka for, nga mas paspas.

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

Pagtabok sa mga diksyonaryo nga adunay para

Ang mga diksyonaryo hinungdanon nga mga himan alang sa pagpahayag sa mga relasyon ug paghimo og mga grupo.

Mahimo ka nga moagi sa diksyonaryo sa tradisyonal nga paagi nga adunay alang, apan dili kana ibalik ang tanan nga kasayuran, dili kami makahimo sa pagtrabaho sa mga kantidad ug indeks nga ingon niana, kung dili kami magsugod pagdugang mga counter ug uban pa. mga elemento.

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

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

Niining paagiha, dugang sa pagtan-aw sa mga elemento, mahimo natong usbon ang diksyonaryo pinaagi sa pag-usab sa mga elemento o pagtangtang niini, sa samang higayon nga ang for loop gibalikbalik.

Ang d.keys() nagtawag sa mga argumento ug naghimo sa usa ka kopya nga gitipigan niini sa usa ka lista nga mahimo natong usbon.

Aron makakuha mga indeks ug mga kantidad imbes sa usa ka butang nga tradisyonal ug kana ang una nga butang nga naa sa hunahuna alang sa amon nga nagsugod sa pagprograma

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

Atong gamiton kining mas paspas nga opsyon

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

iteritems() kay sa items()

Hisguti ang mahitungod sa Loops sa Python ni Raymond Hettinger

Kini usa ka karaan apan mahulagwayon kaayo nga video, diin sa unang 20 ka minuto si Raymond Hettinger nagtudlo kanato sa lain-laing mga posibilidad sa mga galong sa Python ug naghatag kanato og mga pananglitan kung giunsa nila pagbag-o ang mga istruktura nga kaylap nga gigamit sa mga tawo ngadto sa mga gimbuhaton, aron mahimo ang loop nga mas mabasa ug mas simple. .kodigo.

Kung ikaw usa ka dili mahimutang nga tawo sama kanamo ug gusto nga magtinabangay sa pagpadayon ug pagpaayo sa proyekto, mahimo ka maghatag donasyon. Ang tanan nga salapi moadto sa pagpalit sa mga libro ug mga materyales aron mag-eksperimento ug maghimo mga panudlo

Déjà un comentario