תחי ישראל - אין לנו ארץ אחרת

תחי ישראל -אין לנו ארץ אחרת

טאפלים של פייתון - רשימות שלא ניתן לשנות

מחבר:
בתאריך:

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

את פריטי הרשימה מקיפים סוגריים מרובעים:

my_list = [2, 3, 5, 'a', 'b', 'c', True]

סוג נתונים שימושי אחר, שגם הוא מאחסן אוסף של משתנים, הוא טאפל tuple שאותו מגדירים בתוך סוגריים עגולים.

ניצור טאפל שיכיל כמה ערכים:

person1 = ('Moshe', 27, 'Israel', 'Python', True)

מה סוג הנתונים?

print(type(person1))
class 'tuple'

מדריך פייתון טאפל טופל tuples

כמו רשימות, ניתן למצוא את אורך הטאפלים באמצעות הפונקציה 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, in 
    person1[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, in 
    name,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, in 
    name, 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,)

מצוין! פייתון מתייחס למשתנה כטאפל.

במדריך הבא בסדרה ללימוד פייתון נלמד אודות מילונים.

לכל המדריכים בסדרה ללימוד פייתון

 

אהבתם? לא אהבתם? דרגו!

0 הצבעות, ממוצע 0 מתוך 5 כוכבים

 

 

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

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

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

המשתמש באתר צריך להיות מודע לכך שאם וכאשר הוא מפתח קוד בשביל פרויקט הוא חייב לשים לב ולהשתמש בסביבת הפיתוח המתאימה ביותר, הבטוחה ביותר, היעילה ביותר וכמובן שהוא צריך לבדוק את הקוד בהיבטים של יעילות ואבטחה. מי אמר שלהיות מפתח זו עבודה קלה ?

השימוש שלך באתר מהווה ראייה להסכמתך עם הכללים והתקנות שנוסחו בהסכם תנאי השימוש.

הוסף תגובה חדשה

 

 

ענה על השאלה הפשוטה הבאה כתנאי להוספת תגובה:

איך קוראים בעברית לצ`ופצ`יק של הקומקום?

 

תמונת המגיב

אביגיל בתאריך: 05.02.2020

מהמם

תמונת המגיב

לאה בתאריך: 16.11.2021

תודה

תמונת המגיב

t.d בתאריך: 09.07.2022

תודה

תמונת המגיב

רון בתאריך: 23.05.2023

good

תמונת המגיב

יעל בתאריך: 17.03.2024

פצצה!!!! אתה מסביר מעולה