Menu
Coddy logo textTech

Funzioni integrate per iteratori

Lezione 7 di 13 del corso Iteratori in Python di Coddy.

Python fornisce diverse funzioni integrate che lavorano con gli iteratori, rendendo più semplice manipolare ed elaborare dati iterabili. Esaminiamo tre funzioni di uso comune: enumerate(), zip() e reversed().

1. enumerate()

La funzione enumerate() aggiunge un contatore a un iterabile e lo restituisce come oggetto enumerate. È particolarmente utile quando hai bisogno sia dell'indice sia del valore degli elementi di un iterabile.

fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
    print(f"{index}: {fruit}")

# Risultato:
# 0: apple
# 1: banana
# 2: cherry

2. zip()

La funzione zip() crea un iteratore di tuple in cui ogni tupla contiene l'i-esimo elemento di ciascuno degli iterabili di input. È utile per combinare più iterabili.

names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
for name, age in zip(names, ages):
    print(f"{name} is {age} years old")

# Output:
# Alice ha 25 anni
# Bob ha 30 anni
# Charlie ha 35 anni

3. reversed()

La funzione reversed() restituisce un iteratore inverso. Crea un iteratore che accede alla sequenza data in ordine inverso.

numbers = [1, 2, 3, 4, 5]
for num in reversed(numbers):
    print(num)

# Output:
# 5
# 4
# 3
# 2
# 1

Queste funzioni integrate offrono strumenti potenti per lavorare con gli iteratori e ti permettono di aggiungere facilmente contatori, combinare iterabili o invertire sequenze. Possono semplificare notevolmente il codice e renderlo più leggibile quando lavori con strutture di dati iterabili.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

challenge icon

Sfida

Facile

Crea un programma che elabori un elenco di prodotti e i relativi prezzi, combinando le funzioni enumerate(), zip() e reversed() per generare un output formattato.

Ti vengono forniti i seguenti input:

  • Una stringa di nomi di prodotti, separati da virgole
  • Una stringa dei prezzi corrispondenti, separati da virgole

Il tuo programma dovrebbe:

  1. Convertire le stringhe di input in elenchi di prodotti e prezzi
  2. Usare zip() per associare i prodotti ai relativi prezzi
  3. Usare reversed() per invertire l'ordine degli elementi associati
  4. Usare enumerate() per aggiungere un contatore a ciascun elemento
  5. Stampare ogni elemento nel formato: "#{counter}. {product}: ${price}"

Stampa ogni elemento formattato su una nuova riga.

Provalo tu

# Leggi l'input
products = input().split(',')
prices = input().split(',')

# Converti prices in numeri a virgola mobile
prices = [float(price) for price in prices]

# TODO: Scrivi il tuo codice qui sotto
# Suggerimento: usa zip(), reversed() ed enumerate() per elaborare i dati

# Stampa l'output formattato
# Ricorda di stampare ogni elemento su una nuova riga

Tutte le lezioni di Iteratori in Python

Esercitati da solo: Compilatore Python online