Cu ajutorul funcției enumerate() din Python, puteți obține numărul de index (număr, ordine), precum și elementele unui obiect iterabil, cum ar fi o listă sau un tuple, într-o buclă for.
Acest articol explică elementele de bază ale funcției enumerate().
- Funcție pentru a obține indexul într-o buclă for:
enumerate()
- Normal pentru bucla for
- Pentru bucla care utilizează funcția enumerate()
- Începeți indexul funcției enumerate() la 1 (o valoare diferită de zero).
- Specificați incrementul (pasul)
Funcția enumerate() poate fi utilizată pentru a obține indexul într-o buclă for.
Normal pentru bucla for
l = ['Alice', 'Bob', 'Charlie']
for name in l:
print(name)
# Alice
# Bob
# Charlie
Pentru bucla care utilizează funcția enumerate()
Specificați un obiect iterabil, cum ar fi o listă, ca argument al funcției enumerate().
Puteți obține numărul de index și elementul în această ordine.
for i, name in enumerate(l):
print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie
Începeți indexul funcției enumerate() la 1 (o valoare diferită de zero).
După cum se arată în exemplul de mai sus, în mod implicit, indexul funcției enumerate() începe de la 0.
Dacă doriți să începeți cu un alt număr decât 0, specificați un număr de pornire arbitrar ca al doilea argument al funcției enumerate().
Pentru a începe de la zero, procedați după cum urmează.
for i, name in enumerate(l, 1):
print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie
Bineînțeles, puteți începe cu alte numere.
for i, name in enumerate(l, 42):
print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie
Utile atunci când doriți să creați un șir de caractere numerotat secvențial; este mai inteligent să specificați numărul de început ca al doilea argument al funcției enumerate() decât să utilizați „i+1” pentru a începe de la 1.
for i, name in enumerate(l, 1):
print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie
Consultați următorul articol pentru mai multe informații despre funcția format, care este utilizată pentru a completa numerele cu zerouri.
- Articole conexe:Emiterea de zerouri completate, numere hexazecimale etc. cu ajutorul funcției format() din Python
Specificați incrementul (pasul)
Nu există nici un argument pentru a specifica pasul incremental în funcția enumerate(), dar acesta poate fi obținut prin următoarele acțiuni
step = 3
for i, name in enumerate(l):
print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie