פייתון/פייתון גרסה 3/רשומה
Sequence Packing
רשומה היא טיפוס של רצף איברים הטרוגני הנוצרת באמצעות מחרוזת עם פסיקים:
>>> 1,2,3,4
(1, 2, 3, 4)
# using range:
>>> tuple(range(3))
(0, 1, 2)
ניתן לייצר רשומה גם ללא סוגריים:
>>> a=1,2,3
>>> a
(1, 2, 3)
נשם לב
>>> type(3)
<class 'int'>
>>> type(3,)
<class 'int'>
>>> type((2,))
<class 'tuple'>
>>> 1 == (1)
True
>>> (1) == (1,)
False
מבנה ה-tuple
אם לא נוסיף פסיקים תיווצר לנו מחרוזת או מספר:
>>> S=("hello")
>>> type(S)
<class 'str'>
>>> T=("hello",)
>>> type(T)
<class 'tuple'>
>>> s=(1)
>>> type(S)
<class 'int'>
>>> s=(1,)
>>> type(s)
<class 'tuple'>
כאשר עושים השמה לרשומה לתוך משתנה לא חייבים להוסיף סוגרים מעוגלים.
>>> S=1,2,3,4
>>> type(S)
<class 'tuple'>
>>> T=(1,2,3,4)
>>> type(T)
<class 'tuple'>
רשומה ריקה נראת בדיוק כמו רשימה ריקה אלא שהיא נוצרת באמצעות סוגרים מעוגלים
>>> T=()
>>> type(T)
<class 'tuple'>
נעזרים ברשומה בכדי ליצר נקודות על ציר הצירים ועוד.
Sequence unpacking
ניתן לבצע פתיחה של tuple על ידי השימוש במשתנים. לאחר ההזנה של רשומת tuple ניתן למנות כל איבר ברשומה באמצעות משתנים. לאחר מכן כאשר נבקש את ערכו של אותו משתנה, נקבל את ערך האיבר ב-tuple:
>>> t=(1,2,3,4)
>>> x,y,z,r=t
>>> x
1
>>> y
2
>>> z
3
>>> r
4
שימוש בחיתוך ואינדקס
ניתן לבצע על רשומות שרשור, קינון של תת רשומה ברשומה, Slict והפעלת אינדקס על רשומה. כמו גם ניתן להשתמש ב-split.
לא ניתן לשנות רשומות כי הן טיפוס נתונים לשינוי ובלתי ניתנים לשינוי
טיפוס שניתן לשנותו מקונן ברשומה
ניתן לייצר לקונן טיפוס שניתן לשנותו בתוך רשומה ולשנות את הרכבו.
>>> T=([1,2,3],["a","b","c"])
>>> type(T)
<class 'tuple'>
>>> T[0][1]='10'
>>> print(T)
([1, '10', 3], ['a', 'b', 'c'])
>>> T[1][2]
'c'
>>> L=(('a','b'),('c','d'),('e','f'))
>>> print(L[2][1])
f
>>> L=(('a','b'),('c','d'),('e','f'))
>>> print(L[2][0])
e
חשוב להשם לב כי בעת שימוש ב-split הסוגרים הראשונים :
- הוא מקום של הרשומה
- הוא מיקום האיבר בתוך הרשימה
חיתוך מייצר העתק
ניתן להשתמש בחיתוך על טאפלים מאחר שנוצר העתק רדוד לטאפל עליו מתבצע החיתוך
>>>tup = (1,2,3)
>>> tup_2 = tup[::-1]
>>> tup
(1, 2, 3)
>>> id(tup)
61997224
>>> tup_2
(3, 2, 1)
>>> id(tup_2)
52461120
>>> tup_3 = tup[:-1]
>>> tup_3
(1, 2)
>>> id(tup_3)
61940640