טאפלים של פייתון - רשימות שלא ניתן לשנות
במדריך הקודם, למדנו אודות רשימות של פיתון שהם סוג הנתונים הפופולרי ביותר כשרוצים לאחסן אוסף של משתנים.
את פריטי הרשימה מקיפים סוגריים מרובעים:
my_list = [2, 3, 5, 'a', 'b', 'c', True]
סוג נתונים שימושי אחר, שגם הוא מאחסן אוסף של משתנים, הוא טאפל tuple שאותו מגדירים בתוך סוגריים עגולים.
ניצור טאפל שיכיל כמה ערכים:
person1 = ('Moshe', 27, 'Israel', 'Python', True)
מה סוג הנתונים?
print(type(person1))
class 'tuple'
כמו רשימות, ניתן למצוא את אורך הטאפלים באמצעות הפונקציה len:
print(len(person1))
5
כמו רשימות, ניתן לגשת לפריט של טאפל על סמך האינדקס שמזהה אותו:
name = person1[0]
print(name)
Moshe
וכמו ברשימות ניתן להשתמש במילות המפתח in ו-not in כדי למצוא אם הערך המבוקש נמצא בטאפל:
print('Israel' in person1) # True
print('Israel' not in person1) # False
אבל יש הבדל חשוב ועקרוני במיוחד. בעוד ניתן לשנות רשימות (להוסיף פריט, לשנות ערך או למחוק) אי אפשר לשנות שום דבר בטאפל. כי מרגע שהגדרנו אותו ערכו נשאר קבוע:
person1[1] = 28
Traceback (most recent call last): File "main.py", line 8, inperson1[1] = 28 TypeError: 'tuple' object does not support item assignment
אם טאפלים הם לא יותר מרשימות מוגבלות שלא ניתן לשנות אז מדוע אנחנו צריכים אותם? טאפלים שימושיים כשרוצים שהערכים יישארו ללא שינוי בלי אפשרות לאף חלק של התוכנית לשנות אותם. זה יכול להיות שימושי עבור קואורדינטות גיאוגרפיות אותם מקובל להגדיר באמצעות שני ערכים : קווי אורך ורוחב. מרגע שהגדרנו קואורדינטות עבור נקודה על המפה אנחנו לא רוצים ששום דבר ישנה את ערכה. במקרה כזה, נשתמש בטאפל.
חילוץ נתונים מתוך טאפל
פייתון מאפשר לחלץ נתונים מתוך טאפל אל סדרה של משתנים מופרדים בפסיקים בדרך פשוטה מאוד:
person1 = ('Moshe', 27, 'Israel', 'Python', True)
name, age, country, language, has_car = person1
נדפיס את המשתנים:
print('name:', name)
print('age:', age)
print('country:', country)
print('language:', language)
print('has car?:', has_car)
name: Moshe age: 27 country: Israel language: Python has car?: True
מאוד שימושי!
כשאתה מחלץ ערכים אתה חייב להקפיד שמספר המשתנים יהיה שווה למספר הפריטים בטאפל.
מה קורה אם מספר המשתנים נמוך מדי?
name,country = person1
Traceback (most recent call last): File "main.py", line 3, inname,country = person1 ValueError: too many values to unpack (expected 2)
שגיאה!! מפני שמספר המשתנים גדול יותר ממספר הפריטים בתוך הטאפל.
מה קורה אם מספר המשתנים גבוה מדי?
name, age, country, language, has_car, gender = person1
Traceback (most recent call last): File "main.py", line 3, inname, age, country, language, has_car, gender = person1 ValueError: not enough values to unpack (expected 6, got 5)
זה לא עובד!
כשמחלצים את פריטי הטאפל לתוך סדרה של משתנים חובה להקפיד שמספר פריטי הטאפל יהיה זהה למספר המשתנים.
מקרה מיוחד: טאפל עם פריט אחד
ננסה להגדיר פריט אחד בלבד בתוך טאפל:
my_numbers = (42)
print(my_numbers)
print('42 + 1 = ', (my_numbers + 1))
42 42 + 1 = 43
הפריט היחיד בתוך הטאפל מתנהג כמו משתנה מספרי. איך זה יכול להיות? זה מפני שפייתון מזהה מספר בתוך סוגריים עגולים, ולא טאפל. אז כדי להפוך ערך היחיד בתוך סוגריים עגולים לטאפל נקפיד להוסיף פסיק מיד אחרי הערך:
my_numbers = (42,)
print(my_numbers)
(42,)
מצוין! פייתון מתייחס למשתנה כטאפל.
במדריך הבא בסדרה ללימוד פייתון נלמד אודות מילונים.
לכל המדריכים בסדרה ללימוד פייתון
אהבתם? לא אהבתם? דרגו!
65 הצבעות, ממוצע 4.47 מתוך 5 כוכבים
המדריכים באתר עוסקים בנושאי תכנות ופיתוח אישי. הקוד שמוצג משמש להדגמה ולצרכי לימוד. התוכן והקוד המוצגים באתר נבדקו בקפידה ונמצאו תקינים. אבל ייתכן ששימוש במערכות שונות, דוגמת דפדפן או מערכת הפעלה שונה ולאור השינויים הטכנולוגיים התכופים בעולם שבו אנו חיים יגרום לתוצאות שונות מהמצופה. בכל מקרה, אין בעל האתר נושא באחריות לכל שיבוש או שימוש לא אחראי בתכנים הלימודיים באתר.
למרות האמור לעיל, ומתוך רצון טוב, אם נתקלת בקשיים ביישום הקוד באתר מפאת מה שנראה לך כשגיאה או כחוסר עקביות נא להשאיר תגובה עם פירוט הבעיה באזור התגובות בתחתית המדריכים. זה יכול לעזור למשתמשים אחרים שנתקלו באותה בעיה ואם אני רואה שהבעיה עקרונית אני עשוי לערוך התאמה במדריך או להסיר אותו כדי להימנע מהטעיית הציבור.
שימו לב! הסקריפטים במדריכים מיועדים למטרות לימוד בלבד. כשאתם עובדים על הפרויקטים שלכם אתם צריכים להשתמש בספריות וסביבות פיתוח מוכחות, מהירות ובטוחות.
המשתמש באתר צריך להיות מודע לכך שאם וכאשר הוא מפתח קוד בשביל פרויקט הוא חייב לשים לב ולהשתמש בסביבת הפיתוח המתאימה ביותר, הבטוחה ביותר, היעילה ביותר וכמובן שהוא צריך לבדוק את הקוד בהיבטים של יעילות ואבטחה. מי אמר שלהיות מפתח זו עבודה קלה ?
השימוש שלך באתר מהווה ראייה להסכמתך עם הכללים והתקנות שנוסחו בהסכם תנאי השימוש.
אביגיל בתאריך: 05.02.2020
מהמם
לאה בתאריך: 16.11.2021
תודה
t.d בתאריך: 09.07.2022
תודה
רון בתאריך: 23.05.2023
good
יעל בתאריך: 17.03.2024
פצצה!!!! אתה מסביר מעולה