Skip to content

ייחודיות וחוסר סדר – מתי נשתמש ב־set בפייתון

מהו המאפיין העיקרי של קבוצות (set) בפייתון, שמבדיל אותן מרשימות (list) וטאפלים (tuple)? ולאילו סוגי משימות הן מתאימות במיוחד?

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

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


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


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

תשובה 👇

✅ תשובה נכונה: B


✨ הסבר:

לקבוצות (set) בפייתון יש שני מאפיינים בולטים שמייחדים אותן:

  1. ייחודיות: כל אלמנט מופיע בקבוצה פעם אחת בלבד. ניסיון להוסיף כפילויות יתעלם מהן.
  2. אי-סדר: אין משמעות למיקום האלמנטים – לא ניתן לגשת לפי אינדקס.

🎯 שימושים נפוצים:

  • הסרת כפילויות: הפיכת רשימה לקבוצה מסירה כפילויות בקלות.
  • בדיקת שייכות מהירה: element in my_set פועל ב־O(1) בממוצע.
  • פעולות מתמטיות בין קבוצות: איחוד, חיתוך, הפרש, והפרש סימטרי – נתמכות בצורה טבעית וקריאה.

🧪 דוגמה בקוד:

my_list = [1, 2, 2, 3, 4, 4, 5]
unique = set(my_list)
print(f"אלמנטים ייחודיים: {unique}")  # הסדר לא מובטח

a = {1, 2, 3, 4}
b = {3, 4, 5, 6}

print(a | b)  # איחוד
print(a & b)  # חיתוך
print(a - b)  # הפרש

if 3 in a:
    print("המספר 3 נמצא בקבוצה a")

🔍 היבטים מרכזיים:

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

📌 לסיכום:

set הוא טיפוס נתונים אידיאלי כאשר:

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

לכן, התשובה הנכונה היא B.


Tags:

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *