Menu
Coddy logo textTech

פונקציות מובנות לעבודה עם איטרטורים

שיעור 7 מתוך 13 בקורס איטרטורים ב-Python של Coddy.

Python מספקת כמה פונקציות מובנות שעובדות עם איטרטורים, וכך מקלות על מניפולציה ועיבוד של נתונים בני-איטרציה. נבחן שלוש פונקציות נפוצות: enumerate(), zip() ו-reversed().

1. enumerate()

הפונקציה enumerate() מוסיפה מונה לנתון בן-איטרציה ומחזירה אותו כאובייקט enumerate. היא שימושית במיוחד כשצריך גם את האינדקס וגם את הערך של איברים בנתון בן-איטרציה.

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

# פלט:
# 0: apple
# 1: banana
# 2: cherry

2. zip()

הפונקציה zip() יוצרת איטרטור של טאפלות, כאשר כל טאפל מכילה את האיבר במקום ה-i מכל אחד מהנתונים בני-האיטרציה שהועברו כקלט. היא שימושית לשילוב של כמה נתונים בני-איטרציה.

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

# פלט:
# Alice בת 25
# Bob בן 30
# Charlie בן 35

3. reversed()

הפונקציה reversed() מחזירה איטרטור הפוך. היא יוצרת איטרטור שניגש לרצף הנתון בסדר הפוך.

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

# פלט:
# 5
# 4
# 3
# 2
# 1

הפונקציות המובנות האלה מספקות כלים רבי עוצמה לעבודה עם איטרטורים, ומאפשרות להוסיף מונים, לשלב נתונים בני-איטרציה או להפוך רצפים בקלות. הן יכולות לפשט משמעותית את הקוד שלך ולהפוך אותו לקריא יותר כשעובדים עם מבני נתונים בני-איטרציה.

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

challenge icon

אתגר

קל

צרו תוכנית שמעבדת רשימה של מוצרים והמחירים שלהם, ומשלבת את הפונקציות enumerate(), zip() ו-reversed() כדי ליצור פלט מעוצב.

הקלטים הבאים נתונים לכם:

  • מחרוזת של שמות מוצרים, מופרדים בפסיקים
  • מחרוזת של המחירים המתאימים, מופרדים בפסיקים

התוכנית שלכם צריכה:

  1. להמיר את מחרוזות הקלט לרשימות של מוצרים ומחירים
  2. להשתמש ב-zip() כדי לשייך מוצרים למחירים שלהם
  3. להשתמש ב-reversed() כדי להפוך את הסדר של הפריטים המשויכים
  4. להשתמש ב-enumerate() כדי להוסיף מונה לכל פריט
  5. להדפיס כל פריט בפורמט: "#{counter}. {product}: ${price}"

הדפיסו כל פריט מעוצב בשורה חדשה.

נסו בעצמכם

# קראו את הקלט
products = input().split(',')
prices = input().split(',')

# המירו את prices למספרים עשרוניים
prices = [float(price) for price in prices]

# TODO: כתבו את הקוד שלכם למטה
# רמז: השתמשו ב־zip(), ב־reversed() וב־enumerate() כדי לעבד את הנתונים

# הדפיסו את הפלט המעוצב
# זכרו להדפיס כל פריט בשורה חדשה

כל השיעורים ביחידה איטרטורים ב-Python

תרגלו בעצמכם: קומפיילר Python אונליין