Foar loop yn Python

De For-loop yn Python hat wat oare funksjes as oare programmeartalen. Ik lit jo wat ik lear om it measte út ien fan 'e meast brûkte loops te heljen.

Yn Python is it bedoeld om troch in iterabel objekt te iterearjen, of it no in list, in objekt of in oar elemint is.

De folgjende struktuer is

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

for j in h2:
   instructions

Hjir is h2 in iterabel elemint, bygelyks in list h2=[ 'Valencia', 'Castellón', 'Alicante']. De loop sil 3 iteraasjes hawwe, yn de earste j=Valencia yn de twadde de fariabele j=Castellón.

En mei dit kinne wy ​​definiearje de ynstruksjes wy wolle, altyd ûnthâlde de ynspringing, wat essensjeel yn Python en dat in protte minsken negearje, krije flaters yn de koade.

Iterearje foar loop in krekte oantal kearen.

As wy wolle dat it in bepaald oantal kearen werhelle as wy kinne dwaan yn C ++, moatte wy berik (). Om 10 kear te iterearjen soene wy ​​​​a brûke

for element in Range(9):
    instructions

Wy sette 9 en net 10, om't Range begjint fan 0, dus fan 0 oant 9 binne d'r 10 iteraasjes of bochten fan 'e lus.

Knowing Range () kinne ús, yn stee fan in getal binnen, in set in fariabele, dus wy sille hawwe folle mear kontrôle.

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

De Range-funksje hat in protte opsjes, ik sil der oer prate yn in oare post, om de ynhâld net te mingjen en it safolle mooglik te ûntwikkeljen.

Folle mear kin dien wurde om de stream fan 'e for-loop te kontrolearjen.

Brek en Trochgean Statements

D'r binne 2 heul nuttige funksjes dy't ús tastean om in foar-loop tige funksjoneel te meitsjen, fon de brek en it trochgean. Se wurde meastentiids brûkt mei betingsten, as, kontrolearjen oft wat is wier.

Se wurkje yn oare loops, en d'r is in oare nijsgjirrige ferklearring dy't pass is, dat is in ferklearring dy't wurdt útfierd mar neat docht en ideaal is foar wannear't wy in struktuer wolle definiearje dy't kommando's fereasket, mar wy wolle se letter pleatse (opmerkings binne net brûkber foar dit)

Brekke

Mei brek kinne wy ​​de lus op elk momint ferlitte. Sa't jo jo foarstelle tige nuttich. It is wier dat d'r oare struktueren binne lykas Wylst,

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

Trochgean

It makket ús nei it folgjende elemint yn 'e 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/

Foar ... oars

D'r is in struktuer ôflaat fan For, dat is foar ... oars

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

Dizze struktuer ûntstie neidat se seagen dat it nedich wie en dat in protte minsken alternative manieren brûkten om dit te berikken. Sa helpe se minsken en krije in mear lêsbere koade

foar _ yn iterabel

Ik haw dit yn guon programma's sjoen, hoewol ik it noait haw brûkt.

As wy in objekt, list, wurdboek, ensfh. iterearje, mar de ynhâld fan dy eleminten ynteresseart ús net, dan kinne wy ​​it oanjaan mei _

In foarbyld:

Wy wolle de eleminten fan in list telle, mar it kin ús net skele wat it befettet, wy wolle gewoan de lingte dêrfan.

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

Op in protte siden advisearje se dizze praktyk net te misbrûken. Ik wit echt net de foardielen dy't it presintearret, is it rapper?

looping efterút

efterút foar loop. Om iterearje fan it ein nei it begjin

It brûkt de omkearde () funksje yntrodusearre yn python 3

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

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

Looping mei twa yndeksen, wearde fan it iterable en yndeks

Mei enumerate () kinne wy ​​wurkje mei de yndeksen fan in kolleksje. Om't in protte kearen, neist de wearde fan it iterabele objekt sels, wy binne ynteressearre yn syn yndeks.

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

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

Iterearjen oer 2 listen

In oare heul ynteressante opsje is zip() dy't ús wurk makliker meitsje sil en ús koade ienfâldiger en lêsber meitsje sil.

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

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

Yn Python 2.x waard izip () brûkt om dizze funksje te ferbetterjen, mar yn Python 3 is izip zip ()

Looping yn sortearre folchoarder

Iterearje yn folchoarder troch de wearde fan it objekt ynstee fan troch syn yndeks. sorted() wurdt brûkt

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

for color in sorted(colors):
    print color

En as wy it wol efterôf dwaan

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

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

Oanpaste sortearring

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

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

Sentinel Wearde yn foar loop

De sentinelwearde is in wearde dy't feroarsaket dat de loop einiget. It wurdt meastentiids presintearre yn in while loop, mar Raymond Hettinger lit ús sjen hoe't jo it brûke kinne mei in foar, dy't flugger is

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

Traverse wurdboeken mei foar

Wurdboeken binne essensjele ark foar it útdrukken fan relaasjes en it meitsjen fan groepearrings.

Jo kinne op in tradisjonele manier troch it wurdboek gean mei foar, mar dat sil net alle ynformaasje werombringe, wy kinne net wurkje mei wearden en yndeksen lykas dit, as wy net begjinne mei it tafoegjen fan tellers en oare eleminten.

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

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

Op dizze manier kinne wy, neist it sjen fan de eleminten, it wurdboek wizigje troch eleminten te feroarjen of te wiskjen, tagelyk dat de for-lus iterearre wurdt.

d.keys () neamt de arguminten en makket in kopy dat it bewarret yn in list dat wy kinne wizigje.

Om yndeksen en wearden te krijen ynstee fan wat tradisjoneel en dat is it earste ding dat yn 't sin komt foar dy fan ús dy't begjinne te programmearjen

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

Wy sille dizze folle rappere opsje brûke

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

iteritems() as items()

Praat oer Loops in Python fan Raymond Hettinger

It is in âlde, mar tige yllustrative fideo, wêrby't Raymond Hettinger ús yn 'e earste 20 minuten de ferskate mooglikheden fan loops yn Python leart en ús foarbylden jout fan hoe't se struktueren dy't in soad brûkt wurde troch minsken omsette yn funksjes, om de loop lêsber en ienfâldiger te meitsjen koade.

Leave a comment