Kwa kitanzi katika Python

Kitanzi cha For katika Python kina sifa tofauti kuliko lugha zingine za programu. Ninakuachia kile ninachojifunza ili kufaidika zaidi na mojawapo ya vitanzi vinavyotumika zaidi.

Katika Python imekusudiwa kurudia kupitia kitu kinachoweza kutekelezeka, iwe orodha, kitu, au kitu kingine.

Muundo ufuatao ni

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

for j in h2:
   instructions

Hapa h2 ni kipengele kinachoweza kutekelezeka kwa mfano orodha h2=[ 'Valencia', 'Castellón', 'Alicante']. Kitanzi kitakuwa na marudio 3, katika j=Valencia ya kwanza katika j=Castellón ya pili.

Na kwa hili tunaweza kufafanua maagizo tunayotaka, kukumbuka daima indentation, kitu muhimu katika Python na kwamba watu wengi hupuuza, kupata makosa katika kanuni.

Rudia kwa kitanzi idadi kamili ya nyakati.

Ikiwa tunataka irudie idadi fulani ya nyakati kama tunavyoweza kufanya katika C++ tutalazimika kutumia range(). Kurudia mara 10 tungetumia a

for element in Range(9):
    instructions

Tunaweka 9 na sio 10 kwa sababu Masafa huanza kutoka 0, kwa hivyo kutoka 0 hadi 9 kuna marudio 10 au zamu ya kitanzi.

Kujua Range() huturuhusu, badala ya kuweka nambari ndani, kuweka tofauti, ambayo tutakuwa na udhibiti zaidi.

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

Kazi ya Range ina chaguo nyingi, nitazungumzia juu yake katika chapisho lingine, ili si kuchanganya maudhui na kuendeleza iwezekanavyo.

Mengi zaidi yanaweza kufanywa ili kudhibiti mtiririko wa kitanzi.

Vunja na Endelea Taarifa

Kuna vipengele 2 muhimu sana vinavyoturuhusu kufanya kitanzi kifanye kazi sana, kupiga mapumziko na kuendelea. Kawaida hutumiwa na masharti, ikiwa, kuangalia ikiwa kitu ni kweli.

Wanafanya kazi katika vitanzi vingine, na kuna taarifa nyingine ya kuvutia ambayo ni kupita, ambayo ni taarifa ambayo inatekelezwa lakini haifanyi chochote na ni bora kwa wakati tunataka kufafanua muundo unaohitaji amri lakini tunataka kuziweka baadaye (maoni ni sio muhimu kwa hili)

Kuvunja

Kwa mapumziko tunaweza kuondoka kwenye kitanzi wakati wowote. Kama unavyofikiria ni muhimu sana. Ni kweli kwamba kuna miundo mingine kama Wakati,

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

kuendelea

Inatufanya tuende kwa kipengele kinachofuata kwenye kitanzi.

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/

Kwa… kwingine

Kuna muundo unaotokana na Kwa, ambao ni kwa ...

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

Muundo huu uliibuka baada ya kuona kuwa ni lazima na watu wengi wanatumia njia mbadala kufanikisha hili. Kwa hivyo, wanasaidia watu na kupata msimbo unaosomeka zaidi

kwa _ kwa iterable

Nimeona hii katika programu zingine ingawa sijawahi kuitumia.

Tunaporudia kitu, orodha, kamusi, n.k, lakini maudhui ya vipengele hivyo hayatuvutii, tunaweza kuionyesha kwa _

Mfano:

Tunataka kuhesabu vipengele vya orodha lakini hatujali iliyomo, tunataka tu urefu wake.

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

Katika tovuti nyingi wanapendekeza kutotumia vibaya mazoezi haya. Kwa kweli sijui faida inayoleta, je, ni haraka?

kuruka nyuma

nyuma kwa kitanzi. Kurudia kutoka mwisho hadi mwanzo

Inatumia reverse() kazi iliyoletwa kwenye python 3

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

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

Kufunga kwa fahirisi mbili, thamani ya iterable na index

Na enumerate() tunaweza kufanya kazi na fahirisi za mkusanyiko. Kwa sababu mara nyingi, pamoja na thamani ya kitu yenyewe iterable, sisi ni nia ya index yake.

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

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

Inarudia zaidi ya orodha 2

Chaguo jingine la kuvutia sana ni zip() ambayo itafanya kazi yetu iwe rahisi na itafanya msimbo wetu kuwa rahisi na kusomeka zaidi.

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

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

Katika Python 2.x izip() ilitumika kuboresha utendakazi huu, lakini katika Python 3 izip ni zip()

Kuruka kwa mpangilio uliopangwa

Rudia kwa mpangilio kulingana na thamani ya kitu badala ya faharasa yake. sorted() inatumika

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

for color in sorted(colors):
    print color

Na ikiwa tunataka kuifanya nyuma

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

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

Agizo maalum la kupanga

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

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

Thamani ya Sentinel kwa kitanzi

Thamani ya mlinzi ni thamani inayosababisha kitanzi kuisha. Kawaida huwasilishwa kwa kitanzi cha muda, lakini Raymond Hettinger anatuonyesha jinsi ya kuitumia na kwa, ambayo ni haraka.

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

Pitia kamusi ukitumia kwa

Kamusi ni zana muhimu za kuelezea uhusiano na kuunda vikundi.

Unaweza kupitia kamusi kwa njia ya kitamaduni na kwa, lakini hiyo haitarudisha habari zote, hatutaweza kufanya kazi na maadili na fahirisi kama hizo, ikiwa hatutaanza kuongeza vihesabio na zingine. vipengele.

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

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

Kwa njia hii, pamoja na kuona vipengele, tunaweza kurekebisha kamusi kwa kubadilisha vipengele au kufuta, wakati huo huo kitanzi cha kitanzi kinarudiwa.

d.keys() huita hoja na kutengeneza nakala ambayo huhifadhi katika orodha ambayo tunaweza kurekebisha.

Kupata faharisi na maadili badala ya kitu cha kitamaduni na hiyo ndio jambo la kwanza linalokuja akilini kwa wale wetu ambao huanza programu.

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

Tutatumia chaguo hili kwa kasi zaidi

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

vitu() kuliko vitu()

Ongea juu ya Vitanzi kwenye Python na Raymond Hettinger

Ni video ya zamani lakini ya kielelezo sana, ambapo katika dakika 20 za kwanza Raymond Hettinger anatufundisha uwezekano tofauti wa vitanzi katika Python na anatupa mifano ya jinsi wanavyobadilisha miundo inayotumiwa sana na watu kuwa kazi, ili kufanya kitanzi kusomeka zaidi na rahisi zaidi. kanuni.

Acha maoni