פייתון/פייתון גרסה 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

ראה גם[עריכה]