Python, Χρήση της συνάρτησης enumerate(): Λήψη των στοιχείων και των δεικτών μιας λίστας

Επιχείρηση

Χρησιμοποιώντας τη συνάρτηση 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, η οποία χρησιμοποιείται για τη συμπλήρωση αριθμών με μηδενικά.

Καθορίστε την αύξηση (βήμα)

Δεν υπάρχει όρισμα για τον προσδιορισμό του σταδιακού βήματος στη συνάρτηση enumerate(), αλλά μπορεί να επιτευχθεί κάνοντας τα εξής

step = 3
for i, name in enumerate(l):
    print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie
Copied title and URL