Menu
Coddy logo textTech

Wbudowane funkcje iteratorów

Lekcja 7 z 13 w kursie Iteratory w Pythonie w Coddy.

Python udostępnia kilka wbudowanych funkcji, które działają z iteratorami, ułatwiając manipulowanie danymi iterowalnymi i ich przetwarzanie. Przyjrzyjmy się trzem często używanym funkcjom: enumerate(), zip() i reversed().

1. enumerate()

Funkcja enumerate() dodaje licznik do obiektu iterowalnego i zwraca go jako obiekt enumerate. Jest szczególnie przydatna, gdy potrzebujesz zarówno indeksu, jak i wartości elementów obiektu iterowalnego.

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

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

2. zip()

Funkcja zip() tworzy iterator krotek, w których każda krotka zawiera i-ty element z każdego z wejściowych obiektów iterowalnych. Przydaje się do łączenia wielu obiektów iterowalnych.

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

# Wynik:
# Alice ma 25 lat
# Bob ma 30 lat
# Charlie ma 35 lat

3. reversed()

Funkcja reversed() zwraca iterator odwrócony. Tworzy iterator, który uzyskuje dostęp do podanej sekwencji w odwrotnej kolejności.

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

# Wynik:
# 5
# 4
# 3
# 2
# 1

Te wbudowane funkcje zapewniają potężne narzędzia do pracy z iteratorami, pozwalając łatwo dodawać liczniki, łączyć obiekty iterowalne lub odwracać sekwencje. Mogą znacznie uprościć kod i zwiększyć jego czytelność podczas pracy z iterowalnymi strukturami danych.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

challenge icon

Wyzwanie

Łatwy

Utwórz program, który przetwarza listę produktów i ich cen, łącząc funkcje enumerate(), zip() i reversed(), aby wygenerować sformatowany wynik.

Otrzymujesz następujące dane wejściowe:

  • Tekst zawierający nazwy produktów oddzielone przecinkami
  • Tekst zawierający odpowiadające im ceny oddzielone przecinkami

Twój program powinien:

  1. Przekształcić teksty wejściowe w listy produktów i cen
  2. Użyć zip(), aby połączyć produkty z ich cenami
  3. Użyć reversed(), aby odwrócić kolejność połączonych elementów
  4. Użyć enumerate(), aby dodać licznik do każdego elementu
  5. Wypisać każdy element w formacie: "#{counter}. {product}: ${price}"

Wypisz każdy sformatowany element w nowej linii.

Spróbuj swoich sił

# Wczytaj dane wejściowe
products = input().split(',')
prices = input().split(',')

# Przekonwertuj prices na liczby zmiennoprzecinkowe
prices = [float(price) for price in prices]

# TODO: Napisz swój kod poniżej
# Wskazówka: Użyj zip(), reversed() i enumerate(), aby przetworzyć dane

# Wypisz sformatowany wynik
# Pamiętaj, aby wypisać każdy element w nowej linii

Wszystkie lekcje w sekcji Iteratory w Pythonie

Poćwicz samodzielnie: Kompilator Python online