Χρησιμοποιήστε τη λειτουργία απαρίθμησης στην Python για να δημιουργήσετε βρόχους με μετρητές

Use Enumerate Function Python Create Loops With Counters



Αυτό το άρθρο θα εξηγήσει τη χρήση της λειτουργίας απαρίθμησης που είναι διαθέσιμη στη βασική βιβλιοθήκη λειτουργικών μονάδων της Python. Η λειτουργία απαρίθμησης σάς επιτρέπει να αντιστοιχίσετε ένα ευρετήριο ή να μετρήσετε σε στοιχεία σε οποιοδήποτε επαναλαμβανόμενο αντικείμενο. Στη συνέχεια, μπορείτε να εφαρμόσετε περαιτέρω λογική σε αυτά, καθώς θα έχετε πρόσβαση και στις δύο τιμές και σε έναν αριθμό που αντιστοιχεί σε αυτήν.

Σύνταξη και Βασικό Παράδειγμα

Εάν έχετε χρησιμοποιήσει έναν βρόχο for σε άλλες γλώσσες προγραμματισμού, ειδικά τη γλώσσα C και άλλες γλώσσες που έχουν σύνταξη στυλ C, μπορεί να έχετε καθορίσει ένα ευρετήριο έναρξης στον βρόχο. Για αναφορά, εδώ είναι πώς μοιάζει ένας βρόχος for στο C και σε άλλες γλώσσες που έχουν παρόμοια σύνταξη:







Για (intΕγώ= 0?Εγώ< 10?Εγώ++)

{

printf ('%ρε n',Εγώ)?

}

Η δήλωση βρόχου εκκινεί μια μεταβλητή με τιμή μηδέν, ελέγχει ότι είναι μικρότερη από ένα όριο και την αυξάνει κατά μία καταμέτρηση μετά την αξιολόγηση της λογικής στο μπλοκ βρόχου (εάν πληρείται η συνθήκη διακοπής). Με αυτόν τον τρόπο μπορείτε να χρησιμοποιήσετε ένα ευρετήριο και να το εκχωρήσετε σε οποιαδήποτε αντικείμενα που αναφέρονται στο μπλοκ βρόχου σας. Συγκριτικά, εδώ φαίνεται πώς ένας βρόχος for με το ίδιο αποτέλεσμα στην Python:



ΓιαΕγώσε εύρος(0, 10):

Τυπώνω (Εγώ)

Η λειτουργία εύρους στην Python σάς επιτρέπει να καθορίσετε μια ακολουθία εύρους αριθμών που έχει ένα προεπιλεγμένο βήμα 1. Μπορείτε να αλλάξετε την τιμή βημάτων παρέχοντας ένα τρίτο όρισμα. Το δεύτερο όρισμα στη συνάρτηση εύρους χρησιμοποιείται για να ορίσει το όριο για την κατάσταση διακοπής. Και τα δύο δείγματα κώδικα παράγουν την ακόλουθη έξοδο:



0

1

2

3

4

5

6

7

8

9

Αυτοί οι βρόχοι λειτουργούν καλά αν θέλετε απλώς να δημιουργήσετε κάποια ακολουθία αριθμών και να τους συσχετίσετε με κάποια λογική μέσα στην πρόταση βρόχου. Ωστόσο, ίσως χρειαστεί να χρησιμοποιήσετε έναν άλλο ένθετο βρόχο ή να χρησιμοποιήσετε τη συνάρτηση απόδοσης σε οποιονδήποτε επαναλαμβανόμενο τύπο για να τους αντιστοιχίσετε ένα είδος μετρήσιμου αριθμού. Η μέθοδος απαρίθμησης καθιστά εύκολη την αντιστοίχιση ευρετηρίων σε iterables σε μία πρόταση, εξαλείφοντας έτσι την ανάγκη εκτέλεσης πολλαπλών ένθετων βρόχων. Ρίξτε μια ματιά σε αυτό το δείγμα κώδικα:





αριθμούς= ['μηδέν', 'ένας', 'δύο', 'τρία', 'τέσσερα', 'πέντε']

απαριθμημένοι_αριθμοί= αναφέρονται(αριθμούς)

Γιαδείκτης,είδοςσεαπαριθμημένοι_αριθμοί:

Τυπώνω (δείκτης,είδος)

Η πρώτη πρόταση ορίζει μια νέα μεταβλητή που ονομάζεται αριθμοί και της εκχωρεί μια επαναλαμβανόμενη (τύπος λίστας). Η δεύτερη δήλωση δείχνει τη χρήση της συνάρτησης απαρίθμησης όπου παρέχετε ένα επαναλαμβανόμενο σε αυτήν ως υποχρεωτικό όρισμα. Η τρίτη πρόταση μετατρέπει τη μεταβλητή enumerated_numbers σε αντικείμενο τύπου λίστας. Από προεπιλογή, η λειτουργία απαρίθμησης δημιουργεί ένα αντικείμενο απαριθμήσεως και όχι έναν επαναλαμβανόμενο τύπο, οπότε πρέπει να το μετατρέψετε. Αφού εκτελέσετε το δείγμα κώδικα που αναφέρθηκε παραπάνω, θα πρέπει να λάβετε την ακόλουθη έξοδο:

[(0, «μηδέν»), (1, «ένα»), (2, «δύο»), (3, «τρία»), (4, «τέσσερα»), (5, «πέντε»)]

Η συνάρτηση απαρίθμησης εκχωρεί έναν αριθμό σε κάθε στοιχείο σε έναν επαναλαμβανόμενο τύπο και δημιουργεί πλειάδες που έχουν αντιστοιχισμένες τιμές. Από προεπιλογή, η καταμέτρηση ξεκινά από το μηδέν.



Τώρα που έχετε εκχωρήσει έναν αριθμό σε κάθε στοιχείο σε έναν επαναλαμβανόμενο τύπο, μπορείτε εύκολα να τον περιστρέψετε χωρίς να γράψετε ένθετες προτάσεις:

αριθμούς= ['μηδέν', 'ένας', 'δύο', 'τρία', 'τέσσερα', 'πέντε']

απαριθμημένοι_αριθμοί= αναφέρονται(αριθμούς)

Γιαδείκτης,είδοςσεαπαριθμημένοι_αριθμοί:

Τυπώνω (δείκτης,είδος)

Το δείγμα κώδικα που καθορίστηκε παραπάνω θα παράγει την ακόλουθη έξοδο:

0 μηδέν

1 ένα

2 δύο

3 τρία

4 τέσσερα

5 πέντε

Μπορείτε να κάνετε τον κώδικα συντομότερο χρησιμοποιώντας τη λειτουργία απαρίθμησης εσωτερικά, όπως φαίνεται στο παρακάτω δείγμα:

αριθμούς= ['μηδέν', 'ένας', 'δύο', 'τρία', 'τέσσερα', 'πέντε']

Γιαδείκτης,είδοςσε αναφέρονται(αριθμούς):

Τυπώνω (δείκτης,είδος)

Χρήση Enumerate με διαφορετικό δείκτη έναρξης

Η λειτουργία απαρίθμηση λαμβάνει ένα προαιρετικό όρισμα όπου μπορείτε να καθορίσετε έναν δείκτη εκκίνησης. Από προεπιλογή είναι μηδέν, αλλά μπορείτε να το αλλάξετε χρησιμοποιώντας το όρισμα έναρξης:

αριθμούς= ['ένας', 'δύο', 'τρία', 'τέσσερα', 'πέντε']

Γιαδείκτης,είδοςσε αναφέρονται(αριθμούς,αρχή=1):

Τυπώνω (δείκτης,είδος)

Στη δεύτερη πρόταση, το όρισμα start = 1 χρησιμοποιείται για να αλλάξει το σημείο εκκίνησης. Αφού εκτελέσετε το δείγμα κώδικα που καθορίστηκε παραπάνω, θα πρέπει να λάβετε την ακόλουθη έξοδο:

1 ένα

2 δύο

3 τρία

4 τέσσερα

5 πέντε

Εκχώρηση ευρετηρίου με βήματα

Στην πρώτη ενότητα αυτού του άρθρου, εμφανίζεται η σύνταξη για το βρόχο στη γλώσσα C, όπου μπορείτε να ορίσετε βήματα μεταξύ κάθε επόμενης καταμέτρησης ή ευρετηρίου. Η λειτουργία απαρίθμησης στην Python δεν διαθέτει κανένα τέτοιο όρισμα, οπότε δεν μπορείτε να καθορίσετε ένα βήμα μεταξύ των μετρήσεων. Μπορείτε πράγματι να γράψετε τη δική σας λογική για να εφαρμόσετε βήματα στο μπλοκ απαριθμούμενου βρόχου. Ωστόσο, υπάρχει τρόπος να εφαρμόσετε προσαρμοσμένα βήματα γράφοντας ελάχιστο κώδικα. Το ακόλουθο παράδειγμα δείχνει την υλοποίηση βημάτων με τη χρήση συναρτήσεων zip και range:

αριθμούς= ['μηδέν', 'δύο', 'τέσσερα', 'έξι']

Γιαδείκτης,είδοςσε φερμουάρ(εύρος(0, 7, 2),αριθμούς):

Τυπώνω (δείκτης,είδος)

Η συνάρτηση zip σάς επιτρέπει να δημιουργείτε ζεύγη συλλέγοντας στοιχεία που έχουν τον ίδιο δείκτη από δύο ή περισσότερα iterables. Έτσι, η συνάρτηση zip εδώ παίρνει ένα στοιχείο από τη λειτουργία επαναλαμβανόμενης επιστροφής από το εύρος (0, 7, 2) και ένα άλλο στοιχείο από τη λίστα αριθμών και στη συνέχεια τα ζευγαρώνει και τα δύο σε μια πλειάδα. Το τελικό αποτέλεσμα είναι πανομοιότυπη εφαρμογή με τη λειτουργία απαρίθμησης αλλά με προσαρμοσμένα βήματα που καθορίζονται ως τρίτο όρισμα στη συνάρτηση εύρους (0, 7, 2) (2 σε αυτή την περίπτωση). Αφού εκτελέσετε το δείγμα κώδικα που καθορίστηκε παραπάνω, θα πρέπει να λάβετε την ακόλουθη έξοδο:

0 μηδέν

2 δύο

4 τέσσερα

6 έξι

συμπέρασμα

Η λειτουργία απαρίθμησης στην Python σας επιτρέπει να γράψετε συνοπτικό κώδικα εκχωρώντας μια ακολουθία αριθμών σε στοιχεία σε ένα επαναλαμβανόμενο αντικείμενο. Αυτό είναι πραγματικά χρήσιμο εάν θέλετε να παρακολουθείτε το ευρετήριο των στοιχείων μέσα σε έναν επαναλαμβανόμενο τύπο. Εάν θέλετε να απαριθμήσετε επαναλαμβανόμενους τύπους με προσαρμοσμένα βήματα, χρησιμοποιήστε τη συνάρτηση zip που εξηγείται στο τελευταίο παράδειγμα.