פייתון/פייתון גרסה 3/רשימה
הגדרה
[עריכה]רשימה היא טיפוס יכול להכיל בתוכו טיפוסים שונים כמו מספרים, מחרוזת, תמונה, רשימות ועוד.
בכדי ליצור רשימה נעזר בסוגרים מרובעים: . רשימה ריקה מוגדרת והיא נוצרת על ידי enter יחיד, להבדיל מהרשימה
L=[" "]
פעולות
[עריכה]פעולות רבות שמתבצעות על מחרוזות ניתן לבצע גם על רשימות: חזרה על רשימה (list repetition), שרשור רשימות (list concatenation), אינדקס ועוד.
#list concatenation
>>> L1=[1,2,3]
>>> L2=['a','b','c']
>>> L1+L2
[1, 2, 3, 'a', 'b', 'c']
#short writting
>>> L1+='a'
>>> L1
[1, 2, 3, 'a']
#list repetition
>>> 4*[0]
[0, 0, 0, 0]
#short writting:
>>> L1*=2
>>> L1
[1, 2, 3, 1, 2, 3]
mutable
[עריכה]להבדיל ממחרוזת ומספרים רשימה היא ניתנת לשינוי (mutable) דהינו ניתן לשנות תווים של רשימה מבלי ליצור אחת חדשה, להוסיף, למחוק, למיין (באמצעות פונקצית sort) ולהפוך.
שינוי פרטים
[עריכה]שינוי פריט מתבצע באמצעות רשימת שם הרשימה ואחריה בסוגרים מרובעים את מספר מיקום האיבר אותו נרצה לשנות. לאחריו סימן השיוויון והטיפוס אליו נרצה לשנות:
#changing one item in a list
>>> L=['a','b','c']
>>> L[1]=2
>>> L
['a', 2, 'c']
#change the letters in the first, second and the third to:
>>> list=['a','b','c','d','e']
>>> list[0:4]=[1,2,3,4]
>>> list
[1, 2, 3, 4, 'e']
ניתן לבצע פעולות אריתמטיות בתוך רשימות:
>>> list=[1,2,3,4,5]
>>> list[4]=list[4]-2
>>> list
[1, 2, 3, 4, 3]
ניתן לבצע החלפה של איבר ברשימה והצבה של איבר אחר מהרשימה:
>>> x=list(range(2,10,2))
>>> print(x)
[2, 4, 6, 8]
>>> x[:3]=x[3:1:-2]
>>> print(x)
[8, 8]
במקרה זה החלפנו את איברי הרשימה עד המיקום השלישי ולהחליף בערכי הרשימה מהמיקום השלישי עד הראשון בקפיצות של שתיים (הספרה שמונה בלבד).שמו לב המספרים התחומים אינם נקראים, כלומר
>>> x=list(range(2,10,2))
>>> print(x[3:1:-1])
[8, 6]
הוספת פריט
[עריכה]מיקום ראשון
[עריכה]הוספת איברים יכולה להתבצע באופן מלאכותי באמצעות אינדקס:
# slice by L[:0] :
>>> L=[1,2,3]
>>> L[:0]=['a']
>>> L
['a', 1, 2, 3]
איבר באמצע
[עריכה]>>> L=['a','b','c','d','e']
>>> L2=[1,2,3,]
>>> L[1:1]=L2
>>> L
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
איבר אחרון
[עריכה]ניתן להוסיף גם איבר למיקום שנמצא אחרי מיקומו של האיבר האחרון:
# slice by L[nextposition:]
#*in our list the last position is 2. therefor the last position is 3
>>> L=[1,2,3]
>>> L[3:]=['c']
>>> L
[1, 2, 3, 'c']
ברשימה שלנו האיבר האחרון הוא במיקום שני ולכן האיבר הבא אחריו הוא במיקום השלישי.
נשם לב כי כאשר אנו מוספים שני איברים הם נכנסים אל תוך רשומה:
<source lang = "python">
# using slice - adding two elments
>>> L=[1,2,3]
>>> L[0]=1,2
>>> L
[(1, 2), 2, 3]
שרשור
[עריכה]#operator +
>>> L=[1,2,3]
>>> L=L+['a']
>>> L
[1, 2, 3, 'a']
- ניתן להוסיף פריטים גם באמצעות פונקצית insert, פונקצית append, פונקצית extend
מחיקת פריט
[עריכה]מחיקת פרטים מתבצעת באמצעות del
>>> L=['a','b','c','d','e']
>>> del list_1[4]
>>> list_1
['a', 'b', 'c', 'd']
>>> list_1=['a','b','c','d','e']
>>> del list_1[:3]
>>> list_1
['d', 'e']
#Slices :
>>>L=[1,2,3,4]
>>>L[1:3]=[]
>>>L
[1,4]
#clear the list:
>>>L[:]=[]
>>>L
[]
ניתן למחוק איברים על ידי החלפת פריט ברשימה ריקה או באמצעות פונקצית remove
אינדקס
[עריכה]ניתן לגשת לאיבר ברשימה. נשים לב לדרכים השונות לגשת אל האיבר האחרון:
>>> L=[1,2,3,4]
>>> L[3]
4
>>> L[len(L)-1]
4
>>> L[-1]
4
חיתוך
[עריכה]חיתוך רשימה מייצר רשימה חדשה:
>>> L=[1,2,3,4]
>>> L[1:]
[2, 3, 4]
כמו גם כאשר אנו ניגשים אל איברים ברשימה מערך א' עד ערך ב', תודפס לנו רשימה מערך א' ללא ערך ב':
>>> L=[1,2,3]
>>> L[0:2]
[1, 2]
רשימה מקוננת
[עריכה]שמו לב, הוספת רשימה לתוך רשימה תייצר תת רשימה (List nesting):
>>> list_1=['a','b','c','d','e',8]
>>>list_1[5]=['e','f']
>>> list_1
['a', 'b', 'c', 'd', 'e', ['e', 'f']]
>>> list_1.append([2,5])
>>> list_1
['a', 'b', 'c', 'd', 'e', [2, 5]]
ניתן לבקש מפייתון לרשום לנו מפורשת את הפריט שנמצא ברשימה מקוננת :
>>> b=[1,2,3,4,5,6]
>>> num_2=[7,b,7,8,9]
>>> num_2
[7, [1, 2, 3, 4, 5, 6], 7, 8, 9]
>>> num_2[1][1]
2
ראה גם
[עריכה]- פונקצית range, split, list, rsplit, splitlines, join