סט set

March 17, 2019

סט set

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

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

 

 

st={"a","b","c",1,2,3,"a","b",1,2,3,4,5}
print(st)

 

>>>

{1, 'c', 2, 3, 4, 5, 'b', 'a'}

 

 

st={"a","b","c",1,2,3,"a","b",1,2,3,4,5}
print(len(st))

 

>>>

8

 

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

אפשר להוסיף ולהוציא פריטים מסוימים בתוך הסט –

 

 

st={"a","b","c",1,2,3}
st.remove("b")             # st.discard(b) אפשר גם
st.add("e")
print (st)

 

>>>

{1, 2, 3, 'e', 'c', 'a'}

 

אפשר לאתר חפיפה בין שני סטים –

 

st1={"a","b","c","d","e"}
st2={"a","b",1,2,3,4}
print(st1.intersection(st2))

 

>>>

{'b', 'a'}

 

אפשר למצוא חלקים בסט אחד שאינם מופיעים בסט השני -

 

st1={"a","b","c","d","e"}
st2={"a","b",1,2,3,4}
print(st1.difference(st2))

 

>>>

{'c', 'e', 'd'}

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

 

set1={1,2,3,"banana",5,6,7}

set2={1,2,3}

print(set1.union(set2))           >>>   {'banana', 1, 2, 3, 5, 6, 7}

 

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

 

 

 

 

Please reload

Please reload

רעננו את הדף והקליקו למעבר לנושא הבא: