Skip to content

Usare enumerate() e zip() insieme in Python

Python

In Python, enumerate() e zip() sono utili durante l’iterazione di elementi di iterable (list, tuple, ecc.) in un ciclo for.

Puoi ottenere l’indice con enumerate() e ottenere gli elementi di più iterabili con zip().

Questo articolo le note quando si utilizza insieme a descrivere() e zip().

Nota sull’uso di enumerate() e zip() insieme

Se vuoi ottenere gli elementi di più elenchi e indici, puoi usare enumerate() e zip() insieme.

In questo caso, è necessario racchiudere gli elementi di zip() tra parentesi, come per i, (a, b, …) in enumerate(zip( … )).

names = ['Alice', 'Bob', 'Charlie']
ages = [24, 50, 18]

for i, (name, age) in enumerate(zip(names, ages)):
    print(i, name, age)
# 0 Alice 24
# 1 Bob 50
# 2 Charlie 18

Puoi anche ricevere gli elementi di zip() come una tupla.

for i, t in enumerate(zip(names, ages)):
    print(i, t)
# 0 ('Alice', 24)
# 1 ('Bob', 50)
# 2 ('Charlie', 18)
for i, t in enumerate(zip(names, ages)):
    print(i, t[0], t[1])
# 0 Alice 24
# 1 Bob 50
# 2 Charlie 18

Nota che le funzioni count() e zip() del modulo itertools della libreria standard possono essere usate per creare un form non annidato come (i, a, b).