Χρησιμοποιώντας τη συνάρτηση enumerate() της Python, μπορείτε να λάβετε τον αριθμό του δείκτη (count, order) καθώς και τα στοιχεία ενός επαναληπτικού αντικειμένου, όπως μια λίστα ή μια πλειάδα, σε έναν βρόχο for.
Αυτό το άρθρο εξηγεί τα βασικά στοιχεία της συνάρτησης enumerate().
- Συνάρτηση για τη λήψη του δείκτη σε ένα βρόχο for:
enumerate()
- Κανονικός βρόχος for
- Για βρόχο με χρήση της συνάρτησης enumerate()
- Ξεκινήστε το δείκτη της συνάρτησης enumerate() από το 1 (μη μηδενική τιμή).
- Καθορίστε την αύξηση (βήμα)
Η συνάρτηση enumerate() μπορεί να χρησιμοποιηθεί για τη λήψη του δείκτη σε έναν βρόχο for.
Κανονικός βρόχος for
l = ['Alice', 'Bob', 'Charlie']
for name in l:
print(name)
# Alice
# Bob
# Charlie
Για βρόχο με χρήση της συνάρτησης enumerate()
Καθορίστε ένα αντικείμενο επανάληψης, όπως μια λίστα, ως όρισμα της συνάρτησης enumerate().
Μπορείτε να λάβετε τον αριθμό ευρετηρίου και το στοιχείο με αυτή τη σειρά.
for i, name in enumerate(l):
print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie
Ξεκινήστε το δείκτη της συνάρτησης enumerate() από το 1 (μη μηδενική τιμή).
Όπως φαίνεται στο παραπάνω παράδειγμα, από προεπιλογή, ο δείκτης της συνάρτησης enumerate() ξεκινά από το 0.
Αν θέλετε να ξεκινήσετε με έναν αριθμό διαφορετικό από το 0, καθορίστε έναν αυθαίρετο αρχικό αριθμό ως το δεύτερο όρισμα της συνάρτησης enumerate().
Για να ξεκινήσετε από το μηδέν, κάντε τα εξής.
for i, name in enumerate(l, 1):
print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie
Φυσικά, μπορείτε να ξεκινήσετε με άλλους αριθμούς.
for i, name in enumerate(l, 42):
print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie
Χρήσιμο όταν θέλετε να δημιουργήσετε μια συμβολοσειρά με διαδοχική αρίθμηση- είναι πιο έξυπνο να καθορίσετε τον αρχικό αριθμό ως το δεύτερο όρισμα της συνάρτησης enumerate() παρά να χρησιμοποιήσετε το 'i+1' για να ξεκινήσετε από το 1.
for i, name in enumerate(l, 1):
print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie
Ανατρέξτε στο ακόλουθο άρθρο για περισσότερες πληροφορίες σχετικά με τη συνάρτηση format, η οποία χρησιμοποιείται για τη συμπλήρωση αριθμών με μηδενικά.
- Σχετικά άρθρα:Έκδοση συμπληρωμένων μηδενικών, δεκαεξαδικών αριθμών κ.λπ. με τη συνάρτηση format() της Python
Καθορίστε την αύξηση (βήμα)
Δεν υπάρχει όρισμα για τον προσδιορισμό του σταδιακού βήματος στη συνάρτηση enumerate(), αλλά μπορεί να επιτευχθεί κάνοντας τα εξής
step = 3
for i, name in enumerate(l):
print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie