ברוכים הבאים ליחידה "מבני נתונים מתקדמים" בקורס "תכנות וניתוח נתונים בשפת פייתון". יחידה זו תתמקד בניצול יעיל של מילונים (Dictionaries) וקבוצות (Sets) לניהול נתונים. נחקור את מאפייניהם, פעולותיהם, ואת העקרונות התשתיתיים של Hash Tables המאפשרים את ביצועיהם. הבנה זו חיונית לכתיבת קוד פייתון יעיל וקריא, ומהווה נושא מרכזי בבחינות.
מילונים בפייתון (Dictionaries)
מילונים הם אחד ממבני הנתונים החזקים והשימושיים ביותר בפייתון. הם מאפשרים לאחסן נתונים בצמדי מפתח-ערך (key-value pairs), בדומה למילון אמיתי שבו לכל מילה (מפתח) יש הגדרה (ערך).
- גישה מהירה: היתרון המרכזי הוא היכולת לגשת לערכים במהירות שיא באמצעות המפתחות שלהם, בדרך כלל בזמן קבוע (O(1)) בממוצע.
- גמישות: ערכים יכולים להיות מכל סוג נתונים.
- מפתחות ייחודיים: כל מפתח במילון חייב להיות ייחודי. הוספת מפתח קיים תדרוס את הערך הישן.
- מפתחות ניתנים לגיבוב (Hashable): חייבים להיות אובייקטים בלתי ניתנים לשינוי (immutable) כמו מחרוזות, מספרים או טאפלים.
פעולות נפוצות על מילונים:
- יצירה:
my_dict = {'name': 'Alice', 'age': 30} - גישה לערך:
my_dict['name'](מחזיר 'Alice') - הוספה/עדכון:
my_dict['city'] = 'New York' - מחיקה:
del my_dict['age']אוmy_dict.pop('age') - איטרציה:
.keys(),.values(),.items().
מפתח (Key): מזהה ייחודי המשמש לגישה לערך במילון. חייב להיות אובייקט בלתי ניתן לשינוי (immutable) וניתן לגיבוב (hashable).
ערך (Value): הנתון המא
מצאתם טעות או שחסר משהו?