כיצד להשתמש בפונקציית zip() של Python לשילוב נתונים

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

מהי הפונקציה zip()?

הפונקציה zip() לוקחת מספר איטרבלים כארגומנטים ומחזירה איטרטור של tuples. כל טופלה מכילה אלמנטים מהמיקום המתאים של חזרות הקלט. זה מועיל לשילוב נתונים מרצפים מקבילים.

שימוש בסיסי

הנה דוגמה פשוטה לשימוש ב-zip() כדי לשלב שתי רשימות:

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']

zipped = zip(list1, list2)
print(list(zipped))

תְפוּקָה:

[(1, 'a'), (2, 'b'), (3, 'c')]

בדוגמה זו, list1 ו-list2 משולבים מבחינה אלמנטית, ויוצרים רשימה של tuples.

טיפול בחזרות באורכים שונים

אם לחזרות הקלט יש אורכים שונים, zip() מפסיק ליצור tuples כאשר האיטרבל הקצר ביותר מוצה. הנה דוגמה:

list1 = [1, 2, 3, 4]
list2 = ['a', 'b', 'c']

zipped = zip(list1, list2)
print(list(zipped))

תְפוּקָה:

[(1, 'a'), (2, 'b'), (3, 'c')]

שימו לב שהטופל המכיל '4' אינו כלול מכיוון של-list2 אין אלמנט מתאים.

פתיחת רוכס נתונים

אתה יכול גם להשתמש ב-zip() ל-unzip רשימה של tuples. זה כרוך בהפרדת הנתונים המשולבים בחזרה לרשימות בודדות:

zipped = [(1, 'a'), (2, 'b'), (3, 'c')]

list1, list2 = zip(*zipped)
print(list1)
print(list2)

תְפוּקָה:

(1, 2, 3)
('a', 'b', 'c')

כאן, האופרטור * משמש כדי לפרוק את רשימת הטפולים, ו-zip() משמש לקבץ את האלמנטים המתאימים בחזרה לטופלים נפרדים.

יישומים מעשיים

הפונקציה zip() משמשת לעתים קרובות בתרחישים מעשיים כגון:

  • שילוב נתונים מרשימות מקבילות, למשל, שמות וגילאים.
  • יצירת מילונים משתי רשימות, כאשר רשימה אחת מכילה מפתחות והשנייה מכילה ערכים.
  • איטרציה על מספר רשימות במקביל בלולאה.

דוגמה: יצירת מילון

הנה דוגמה לשימוש ב-zip() כדי ליצור מילון משתי רשימות:

keys = ['name', 'age', 'city']
values = ['Alice', 30, 'New York']

dictionary = dict(zip(keys, values))
print(dictionary)

תְפוּקָה:

{'name': 'Alice', 'age': 30, 'city': 'New York'}

בדוגמה זו, zip() מצמד לכל מפתח עם הערך המתאים לו, והפונקציה dict() ממירה את הזוגות למילון.

מַסְקָנָה

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