Σε αυτό το άρθρο, θα μάθετε να επαναλαμβάνετε μια ακολουθία στοιχείων χρησιμοποιώντας τις διαφορετικές παραλλαγές του loop.
Βίντεο: Python for Loop
Τι είναι το βρόχο στο Python;
Το for loop στο Python χρησιμοποιείται για την επανάληψη μιας ακολουθίας (λίστα, tuple, string) ή άλλα αντικείμενα με δυνατότητα επαναληψιμότητας. Η επανάληψη μιας ακολουθίας ονομάζεται εγκάρσια.
Σύνταξη του για Loop
για val στη σειρά: Σώμα για
Εδώ, val
είναι η μεταβλητή που παίρνει την τιμή του στοιχείου μέσα στην ακολουθία σε κάθε επανάληψη.
Ο βρόχος συνεχίζεται μέχρι να φτάσουμε στο τελευταίο στοιχείο της ακολουθίας. Το σώμα του για βρόχο διαχωρίζεται από τον υπόλοιπο κώδικα χρησιμοποιώντας εσοχή.
Διάγραμμα ροής για Loop

Παράδειγμα: Python for Loop
# Program to find the sum of all numbers stored in a list # List of numbers numbers = (6, 5, 3, 8, 4, 2, 5, 4, 11) # variable to store the sum sum = 0 # iterate over the list for val in numbers: sum = sum+val print("The sum is", sum)
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
Το άθροισμα είναι 48
Η συνάρτηση εύρους ()
Μπορούμε να δημιουργήσουμε μια ακολουθία αριθμών χρησιμοποιώντας τη range()
συνάρτηση. range(10)
θα δημιουργήσει αριθμούς από 0 έως 9 (10 αριθμοί).
Μπορούμε επίσης να ορίσουμε το μέγεθος έναρξης, διακοπής και βήματος ως range(start, stop,step_size)
. step_size προεπιλογές σε 1 εάν δεν παρέχονται.
Το range
αντικείμενο είναι "τεμπέλης" με μια έννοια επειδή δεν δημιουργεί κάθε αριθμό που "περιέχει" όταν το δημιουργούμε. Ωστόσο, αυτό δεν είναι ένα iterator, δεδομένου ότι υποστηρίζει in
, len
και __getitem__
λειτουργίες.
Αυτή η λειτουργία δεν αποθηκεύει όλες τις τιμές στη μνήμη. θα ήταν αναποτελεσματικό. Έτσι θυμάται το μέγεθος έναρξης, διακοπής, βημάτων και δημιουργεί τον επόμενο αριθμό εν κινήσει.
Για να αναγκάσουμε αυτήν τη λειτουργία να εξάγει όλα τα στοιχεία, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση list()
.
Το ακόλουθο παράδειγμα θα το αποσαφηνίσει αυτό.
print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))
Παραγωγή
εύρος (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 , 17)
Μπορούμε να χρησιμοποιήσουμε τη range()
συνάρτηση σε for
βρόχους για να επαναλάβουμε μια ακολουθία αριθμών. Μπορεί να συνδυαστεί με τη len()
λειτουργία για επανάληψη μέσω μιας ακολουθίας χρησιμοποιώντας ευρετηρίαση. Εδώ είναι ένα παράδειγμα.
# Program to iterate through a list using indexing genre = ('pop', 'rock', 'jazz') # iterate over the list using index for i in range(len(genre)): print("I like", genre(i))
Παραγωγή
Μου αρέσει το ποπ, μου αρέσει ροκ, μου αρέσει η τζαζ
για βρόχο με άλλο
Ένας for
βρόχος μπορεί επίσης να έχει ένα προαιρετικό else
μπλοκ. Το else
τμήμα εκτελείται εάν τα στοιχεία της ακολουθίας που χρησιμοποιούνται για εξάτμιση βρόχου.
Η break
λέξη-κλειδί μπορεί να χρησιμοποιηθεί για να σταματήσει το a for loop. Σε τέτοιες περιπτώσεις, το άλλο μέρος αγνοείται.
Ως εκ τούτου, ένα άλλο μέρος του βρόχου τρέχει αν δεν υπάρξει διακοπή.
Εδώ είναι ένα παράδειγμα για να το δείξετε αυτό.
digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
0 1 5 Δεν έχουν απομείνει αντικείμενα.
Εδώ, το for loop εκτυπώνει στοιχεία της λίστας έως ότου εξαντληθεί ο βρόχος. Όταν το for for loop εξαντλείται, εκτελεί το μπλοκ του κώδικα στο else
και εκτυπώνει Δεν απομένουν αντικείμενα.
Αυτή η for… else
δήλωση μπορεί να χρησιμοποιηθεί με τη break
λέξη-κλειδί για την εκτέλεση του else
αποκλεισμού μόνο όταν η break
λέξη-κλειδί δεν εκτελέστηκε. Ας πάρουμε ένα παράδειγμα:
# program to display student's marks from record student_name = 'Soyuj' marks = ('James': 90, 'Jules': 55, 'Arthur': 77) for student in marks: if student == student_name: print(marks(student)) break else: print('No entry with that name found.')
Παραγωγή
Δεν βρέθηκε καταχώριση με αυτό το όνομα.