Python, Utilizarea funcției enumerate(): Obținerea elementelor și indicilor unei liste

Afaceri

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.

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
Copied title and URL