מהם הסטים בפייתון וכיצד להשתמש בהם?



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

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

מה מוגדר בפייתון?
מתי להשתמש בערכות בפייתון?
איך יוצרים סט?
הגדר פעולות





מהם ערכות קפואות?

בוא נתחיל. :-)



מה מוגדר בפייתון?

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

דוגמא:

My_Set = {1, 's', 7.8} הדפס (My_Set)

תְפוּקָה: {‘S’, 1, 7.8}



הפלט מציג את כל האלמנטים הקיימים My_Set.

הערה: קבוצה בכללותה ניתנת לשינוי אך אלמנטים של קבוצה אינם.

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

מתי להשתמש בערכות בפייתון?

סטים בפייתון משמשים כאשר-

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

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

איך יוצרים סט בפייתון?

ניתן ליצור סטים בפייתון בשתי דרכים-

  • סגירת אלמנטים בתוך סוגריים מתולתלים
  • באמצעות פונקציית set ()

1. שימוש בסוגרים מתולתלים:

סטים בפייתון נוצרים באמצעות סוגריים מסולסלים ({}).

 דוגמא: 
My_Set = {1, 's', 7.8} הדפס (My_Set)

תְפוּקָה: {‘S’, 1, 7.8}

כפי שאתה יכול לראות, My_Set נוצר.

2. שימוש בפונקציה set ()

ניתן ליצור סטים בפייתון באמצעות פונקציית set ().

דוגמא:

a = set ({1, 'b', 6.9}) הדפס (a)

תְפוּקָה: {1, 'ב', 6.9}

ניתן גם ליצור סט ריק בעזרת אותה פונקציה.

דוגמא:

Empty_Set = set () הדפס (Empty_Set)

תְפוּקָה: מַעֲרֶכֶת()

הפלט שלמעלה מראה קבוצה ריקה בשם Empty_Set נוצרה.

אתה יכול להוסיף אלמנטים לקבוצה הריקה הזו. אעסוק בכך בנושאים הבאים.

הגדר פעולות

ניתן לבצע מספר פעולות בקבוצות כגון הוספת אלמנטים, מחיקת אלמנטים, מציאת אורך הסט וכו '. כדי לדעת מה ניתן להשתמש בכל השיטות בסטים, ניתן להשתמש ב לך() פוּנקצִיָה.

דוגמא:

My_Set = {1, 's', 7.8} dir (My_Set)

תְפוּקָה:

['__and __', '__ class __', '__ מכיל __', '__ delattr __', '__ dir __', '__ doc __', '__ eq __', '__ format __', '__ ge __', '__ getattribute__', '__gt__', '__h__ __iand__ ',' __init__ ',' __init_subclass__ ',' __ior__ ',' __isub__ ',' __iter__ ',' __ixor__ ',' __le__ ',' __len__ ',' __lt__ ',' __ne__ ',' __new__ ',' __or__ , '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '____subass __xor__ ',' הוסף ',' נקה ',' העתק ',' הבדל ',' הבדל_עדכון ',' מחק ',' צומת ',' חיתוך_עדכון ',' isdisjoint ',' issubset ',' issuperset ',' pop ' , 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']

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

מציאת אורך הסט

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

דוגמא:

My_Set = {1, 's, 7.8} len (My_Set)

תְפוּקָה: 3

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

גישה לאלמנטים של סט

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

דוגמא:

My_Set = {1, 's', 7.8} ל- x ב- My_Set: הדפס (x)

תְפוּקָה:

s 1 7.8

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

הוספת אלמנטים לסט:

ניתן להוסיף אלמנטים לסט באמצעות שתי פונקציות, ה- לְהוֹסִיף() וה עדכון() פוּנקצִיָה.

הפונקציה add () מוסיפה אלמנט אחד לערכה הקיימת כמוצג להלן:

דוגמא:

My_Set = {1, 's, 7.8} My_Set.add (3) My_Set

תְפוּקָה: {1, 3, 7.8, ‘s’}

פונקציית update () משמשת כאשר ברצונך להוסיף יותר מאלמנט אחד לערכה הקיימת.

דוגמא:

My_Set = {1, 's', 7.8} My_Set.update ([2,4.6,1, 'r']) My_Set

תְפוּקָה: {1, 2, 4.6, 7.8, ‘r’, ‘s’}

כפי שניתן לראות בפלט שלעיל, פונקציית העדכון () לוקחת רשימה של 4 ערכים וכל הערכים פרט ל -1 מתווספים ל- My_Set. הסיבה לכך היא ש -1 כבר קיים בערכה ולכן לא ניתן להוסיף אותה שוב.

הסרת אלמנטים של סט

כדי להסיר אלמנטים מתוך קבוצה, אתה יכול להשתמש באפשרות לְהַסִיר(), להשליך() וה פופ () פונקציות.

הפונקציה remove () לוקחת פרמטר אחד שהוא הפריט שיש להסיר מהסט.

דוגמא:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.remove (2) הדפס (My_Set)

תְפוּקָה: {1, 4.6, 7.8, 'r', 's'}

כפי שאתה יכול לראות, 2 הוסרו מהסט באמצעות פונקציית remove (). במקרה שתציין אלמנט כלשהו כפרמטר להסרה () שאינו קיים בערכה, הוא ישליך על שגיאה.

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

דוגמא:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.discard (4.6) My_Set.discard ('i') הדפס (My_Set)

תְפוּקָה: {1, 2, 7.8, ‘r’, ‘s’}

הפלט שלעיל מראה כי 4.6 הוסרה מ- My_Set אך מחק () לא השליך שגיאה כאשר השתמשתי ב- My_Set.discard ('i') למרות ש- 'אני' אינו קיים בערכה שלי.

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

דוגמא:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.pop () הדפס (My_Set)

תְפוּקָה: {2, 4.6, 7.8, 'r', 's'}

הפלט מראה כי באמצעות pop () הוסר אלמנט אקראי כלשהו, ​​שבמקרה זה הוא 1.

כעת, אם ברצונך למחוק את כל האלמנטים הקיימים בערכה, תוכל להשתמש ב- ברור() שיטה.

דוגמא:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.clear () הדפס (My_Set)

תְפוּקָה: מַעֲרֶכֶת()

כפי שניתן לראות בפלט שלעיל, My_Set הוא סט ריק.

במקרה שברצונך למחוק את הסט לחלוטין, תוכל להשתמש ב- של ה מילת מפתח.

דוגמא:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} del My_Set הדפסה (My_Set)

כאשר אתה מריץ את הקוד לעיל, הוא ישליך על שגיאה מכיוון ש- My_Set נמחק.

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

איחוד הסטים

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

  • באמצעות צינור
  • באמצעות פונקציית האיחוד ()

שימוש בסמל צינור:

ניתן לשרשר שתי קבוצות באמצעות | סמל כדלקמן:

דוגמא:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = a | b הדפסה (a | b)

תְפוּקָה: {1, 2, 4.6, 5, 7.8, 'r', 'abc', 's', 'd'}

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

דוגמא:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,5} d = a | b | הדפסת ג (ד)

תְפוּקָה:

{1, 2, 3, 4, 4.6, 5, 7.8, 'abc', 'd', 'r', 's'}

באמצעות שיטת האיחוד ():

לשרשור שתי קבוצות או יותר, ניתן להשתמש בשיטת האיחוד () באופן הבא:

דוגמא:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {'m', 23,76,4.7} הדפסה (' הגדר U b = ', a.union (b)) הדפס (' Set a U b U c = ', a.union (b, c))

תְפוּקָה:

הגדר U b = {1, 2, 4.6, 5, 7.8, 'r', 'abc', 's', 'd'}

הגדר U b U c = {1, 2, 4.6, 5, 4.7, 7.8, 'r', 76, 23, 'abc', 'm', 's', 'd'}

התפוקה שלעיל מראה כי d הוא איחוד של קבוצות a, b ו- c.

צומת סטים

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

ניתן לעשות זאת בשתי דרכים:

  • שימוש בסמל '&'
  • באמצעות פונקציית צומת ()

שימוש בסמל '&':

איזו שיטת מחלקת הסורקים קוראת מחרוזת?

אתה יכול לקבוע את הצומת של שתי קבוצות או יותר באמצעות סמל '&' באופן הבא:

דוגמא:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,} הדפס (a & b) הדפס (א & ו & ג)

תְפוּקָה:

{2, 5} {2}

הפלט שלעיל מראה את איחוד הסטים a, b ו- c.

באמצעות פונקציית צומת ():

אתה יכול לקבוע את הצומת של שתי קבוצות או יותר באמצעות פונקציית הצומת () באופן הבא:

דוגמא:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} הדפס ('הגדר צומת b = ', א. צומת (ב)) הדפס (' הגדר צומת ב 'צומת c =', א. צומת (b, c))

תְפוּקָה:

הגדר צומת b = {2, 5}

הגדר צומת ב 'צומת c = {2}

הפלט שלעיל מציג את צומת הסטים a, b ו- c.

ההבדל בין ערכות:

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

ניתן לעשות זאת בשתי דרכים:

  • שימוש בסמל '-'
  • באמצעות פונקציית ההבדל ()

שימוש בסמל '-':

כדי למצוא את ההבדל בין שתי קבוצות באמצעות סמל '-', אתה יכול לעשות את הדברים הבאים:

דוגמא:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} הדפסה (a-b-c)

תְפוּקָה: {1, 4.6, 7.8, 'r', 's'}

הפלט מורכב מכל האלמנטים של הסט 'a' למעט אלה הקיימים ב- 'b' ו- 'c'.

באמצעות פונקציית ההבדל ():

ניתן לקבוע את ההבדל בין קבוצות באמצעות פונקציית ההבדל המובנית () באופן הבא:

דוגמא:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} הדפס ('הגדר - b = ', הפרש (b)) הדפס (' הגדר a - b - c = ', הפרש (b, c))

תְפוּקָה:

הגדר a - b = {1, 4.6, 7.8, ‘r’, ‘s’}

הגדר a - b - c = {1, 4.6, 7.8, ‘r’, ‘s’}

הפלט הנ'ל הוא התוצאה להבדל באמצעות פונקציית ההפרש ().

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

מהו סט קפוא?

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

כיצד ליצור סטים קפואים?

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

דוגמא:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = frozenset (a) הדפס (b)

תְפוּקָה: frozenset ({1, 2, 4.6, 5, 7.8, ‘r’, ‘s’})

הפלט שלעיל מורכב מערכה b שהיא גרסה קפואה של קבוצה a.

גישה לאלמנטים של סט קפוא

ניתן לגשת לאלמנטים של סט קפוא על ידי לולאה דרכו כדלקמן:

דוגמא:

b = frozenset ([1, 2, 4.6, 5, 7.8, 'r', 's']) עבור x ב- b: הדפס (x)

תְפוּקָה:

אחד
2
4.6
5
7.8
ס

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

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

כדי לקבל ידע מעמיק על Python יחד עם היישומים השונים שלו, אתה יכול להירשם לשידור חי עם תמיכה 24/7 וגישה לכל החיים.