משתמשים ב sets לאחסן collection (בחיי שאין לי מושג מה התרגום הכי טוב בהקשר הזה) של מידע.
sets הם לא ממוינים, לא ניתנים לשינוי (אפשר להסיר ערכים, להוסיף ערכים אך לא לשנות ערך מסוים ישירות) ואין גישה לנתונים דרך אינדקסים כמקובל למשל ברשימות (lists).
עוד אלמנט מאוד מהותי של sets הוא שהנתונים בו הם יוניקיים, כלומר, ערכים בסט לא יכולים לחזור על עצמם, בפוסט נראה איך עושים בזה שימוש לטובתנו.
את sets מגדירים עם סוגריים מסולסלים, והנתונים עצמכם יכולים להיות ערבוב של סוגי משתנים שונים (מחרוזות, מספרים, אובייקטים, בוליאנים וכו׳).
אז מתי ואיך נשתמש בפועל במשתנה מסוג set.
הפיכת רשימה ליוניקית.
נניח ויש לנו רשימה שיש בה ערכים עם דופליקציות של נתונים, ונרצה להפוך אותה לרשימה יוניקית (ללא חזרתיות של ערכים), נוכל לנצל את sets למטרה הזו: נסב את הרשימה לסט, שהוא יוניקי מטבעו ואז נחזיר חזרה לרשימ. וזהו :)
union, intersection, difference and symmetric difference
כולנו זוכרים את דיאגרמות ון מהבית ספר כן? אז נוכל להשתמש ב sets והפונקציות הנלווית להם לקבל פונקציונליות הדומה לאותה הדיאגרמה המפורסמת, כלומר למצוא את המשותף, את מה שנמצא בעיגול מסוים אבל לא בעיגול ואחר ואת מה שמשותף לכל העיגולים.
לדוגמה, נניח ויש לנו שלושה sets המתארים אפליקציות בפלטפורמות שונות:
אם נרצה לקבל רשימה של כלל האפליקציות, בלי קשר לאיזה מערכת הן רצות, נשתמש ב union
אם נרצה לקבל רק את האפליקציות שנמצאות בכל הפלפורמות נשתמש ב intersection:
אם נרצה לקבל את כל אלו שנמצאים במק אבל לא נמצאים בחלונות, נשתמש ב difference
ואם נרצה את אלו שנמצאים במק אבל לא בחלונות וגם את אלו שבחלונות אבל לא במק נוכל להשתמש ב- symmetric difference
אולי בהמשך נעשה פוסט המשך עם עוד דוגמאות קצת יותר מורכבות מהעולם האמיתי לשימשו ב sets.
אין תגובות:
הוסף רשומת תגובה