voor lus in python. Syntaxis, lijst-iteratie, pauze, doorgaan en andere functies

Цikl voor python i cyclus while – uitspraken software taal, namelijk: iteratie-operators, letING herhaal code gegeven nummer tijd.

Цvoor — сintaxi's

Zoals al uitgelegd, cinclude for in Python is een iterator gebaseerd opй per cyclusidentiteit. is hij Handelingen door tuple elementen и lijst, woordenschat sleutels en anders itereerbare objecten.

Een lus in Python begint met het for-sleutelwoord, gevolgd door een willekeurige variabelenaam die de waarde van het volgende object in de gegeven reeks opslaat. De algemene syntaxis voor for...in in python ziet er als volgt uit:

voor in: anders:      

COMPONENTEN "sequenties" worden vermeld de een na de ander cyclus variabele. Of liever, variabele wijst naar dergelijk elementen. Voor iedereen daarvan “actie” wordt uitgevoerd.

Een eenvoudige for-lus in Python met een specifiek voorbeeld:

>>> talen = ["C", "C++", "Perl", "Python"] >>> voor x in talen: ... print(x) ... C C++ Perl Python >>>

Het else-blok is speciaale. Als een programmeurыwerkzaam с Perl bekendы met hem, dat voor degenen die interageren с C en C++ — dit is een innovatie. Semantisch is het functies тidentiek herhalingslus.

Alleen uitgevoerd als de lus niet wordt "gestopt" door de break-instructie. Dat wil zeggen, het wordt pas uitgevoerd nadat alle elementen de opgegeven volgorde hebben doorlopen.

Break-operator in python - pauze

Als het programma een for-lus heeft noodzakelijk onderbrekende breek verklaring, he compleethet gaaten programma stroom wil contte zonder activering van anders.

Vaker breek zinnen in pythonuyutsya met voorwaardelijke verklaringen.

edibles = ["chops", "dumplings","eggs","nuts"] voor eten in edibles: if food == "dumplings": print("Ik eet geen dumplings!") break print("Geweldig, heerlijk " + eten) else: print("Het is goed dat er geen dumplings waren!") print("Het avondeten is voorbij.")

Als u deze code uitvoert, krijgt u het volgende resultaat:

Geweldige, heerlijke karbonades. Ik eet geen dumplings! Het avondeten is voorbij.

We verwijderen "dumplings" uit de bestaande lijst met gegevens en krijgen:

Uitstekende, heerlijke karbonades Uitstekende, heerlijke eieren Uitstekende, heerlijke noten Gelukkig waren er geen dumplings! Het avondeten is voorbij.

python skip-operator - doorgaan

Laten we zeggen dat de antipathie van de gebruiker voor dergelijke producten niet zo groot is dat het gebruik ervan volledig wordt opgegeven. Als gevolg hiervan gaat de lus verder met de operator continue. Het volgende script gebruikt de instructie continue, om door te gaan met het doorlopen van de lijst op "knoedelcontact".

edibles = ["chops", "dumplings","eggs","nuts"] voor eten in edibles: if food == "dumplings": print("Ik eet geen dumplings!") continue print("Geweldig, heerlijk " + eten) # dit kan de code zijn om van eten te genieten :-) else: print("Ik haat dumplings!") print("Het avondeten is voorbij.")

Het komt neer op:

Geweldige, heerlijke karbonades. Ik eet geen dumplings! Geweldige, heerlijke eieren Geweldige, heerlijke noten Ik haat dumplings! Het avondeten is voorbij.

Itereren over lijsten met de functie range()

Als u toegang wilt tot de indexen van een lijst, is het niet duidelijk hoe u hiervoor een for-lus moet gebruiken. Het is mogelijk om toegang te krijgen tot alle elementen, maar de index van het element blijft ontoegankelijk. Er is echter een methode om toegang te krijgen tot zowel de index van het element als het element zelf. Voor dit doel wordt de functie gebruikt: range() gecombineerd met de lengtefunctie len():

fibonacci = [0,1,1,2,3,5,8,13,21] voor i in range(len(fibonacci)): print(i,fibonacci[i])

Krijgen:

0 0 1 1 2 1 3 2 4 3 5 5 6 8 7 13 8 21

Aandacht! Wanneer toegepast len() к list or tuple, wordt het overeenkomstige aantal elementen van de gegeven reeks verkregen.

Moeilijkheden bij het herhalen van lijsten

Bij het herhalen van een lijst wordt aanbevolen om lijstdynamiek in de loop-body te vermijden. Voor de duidelijkheid kunnen we de volgende optie aanbieden:

kleuren = ["rood"] voor i in kleuren: if i == "rood": kleuren += ["zwart"] if i == "zwart": kleuren += ["wit"] print(kleuren)

Wat gebeurt er bij het solliciteren? print(colours)?

['rood', 'zwart', 'wit']

Om dit te voorkomen, is het aan te raden om met de kopie te werken door middel van slices, zoals in het onderstaande voorbeeld:

kleuren = ["rood"] voor i in kleuren [:]: if i == "rood": kleuren += ["zwart"] if i == "zwart": kleuren += ["wit"] print(kleuren )

Resultaat:

['Rood Zwart']

De lijst is gewijzigd colours, maar deze actie had geen invloed op de lus. De gegevens die moesten worden herhaald, bleven ongewijzigd tijdens de uitvoering van de lus.

Opsommen in python 3

Enumerate is een ingebouwde Python-functie. De meeste beginners, evenals enkele ervaren programmeurs, zijn zich niet bewust van het bestaan ​​ervan. Hiermee kunt u automatisch herhalingen van de lus tellen. Bijvoorbeeld:

voor teller, waarde in enumerate(some_list): print(counter, value)

Functie enumerate neemt ook een optioneel argument (de waarde van de oorsprong, standaard genomen voor 0). Wat het nog efficiënter maakt.

my_list = ['apple', 'banana', 'cherry', 'peach'] for c, value in enumerate(my_list, 1): print(c, value) # Resultaat: # 1 appel # 2 banaan # 3 kers # 4 perziken

Laat een reactie achter