עוד על רשימות
הוספת אלמנטים לרשימות
>>> li
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li.append("new")
>>> li
['a', 'b', 'mpilgrim', 'z', 'example', 'new']
>>> li.insert(2, "new")
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new']
>>> li.extend(["two", "elements"])
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
העבירו את
הסמן מעל השורות המסומנות לקבלת הסברים
המתודה (על
טיבן של מתודות ראה לעיל או בפרק תכנות מונחה עצמים )append מוסיפה איבר יחיד בסוף הרשימה.
המתודה insert מכניסה איבר למקום
נתון ברשימה. הארגומנט המספרי הוא האינדקס שלפניו מוכנס האיבר
החדש, כלומר האינדקס של האיבר הראשון שיזוז עם ההכנסה.
המתודה extend משרשרת רשימות.
שימ/י לב – המתודה מקבלת ארגומנט אחד שהוא רשימה.
חיפוש ברשימה
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> li.index("example")
5
>>> li.index("new")
2
>>> li.index("c")
Traceback (innermost last):
File "<interactive input>", line 1, in ?
ValueError: list.index(x): x not in list
>>> "c" in li
0
העבירו את
הסמן מעל השורות המסומנות לקבלת הסברים
המתודה
index מוצאת את האיבר
הראשון שערכו זהה לערך הנתון, ומחזירה את מיקומו הסידורי.
במקרה שערך מופיע מספר פעמים, מוחזר, כאמור, מיקומו הסידורי
של הראשון מביניהם.
במקרה שהערך אינו קיים, הודעת שגיאה תוחזר – המתודה תזרוק
.exception
כדי לבדוק אם ערך נמצא ברשימה, ניתן להשתמש באופרטור הבוליאני
in, המחזיר 1 אם הערך נמצא ברשימה, ו-0
אם לא.
הסרת ערכים מתוך רשימה
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> li.remove("z")
>>> li
['a', 'b', 'new', 'mpilgrim', 'example', 'new', 'two', 'elements']
>>> li.remove("new")
>>> li
['a', 'b', 'mpilgrim', 'example', 'new', 'two', 'elements']
>>> li.remove("c")
Traceback (innermost last):
File "<interactive input>", line 1, in ?
ValueError: list.remove(x): x not in list
>>> li.pop()
'elements'
>>> li
['a', 'b', 'mpilgrim', 'example', 'new', 'two']
העבירו את
הסמן מעל השורות המסומנות לקבלת הסברים
המתודה
remove מסירה את המופע
הראשון של הערך הנתון, מתוך הרשימה.
מתודה זו מתנהגת כמו index, באופן זה שהיא
מתייחסת למופע הראשון בלבד.
וכן באופן זה שהיא זורקת הודעת שגיאה אם הערך לא מופיע ברשימה.
המתודה pop מעניינת יותר
– היא עושה שני דברים: מסירה את האיבר הראשון ברשימה (ראש הרשימה),
ומחזירה את ערכו. היא שונה מקריאה לאיבר הראשון על ידי סוגריים מרובעים,
שלא משנה את הרשימה (li[0]) וכן מ-remove, שלא מחזירה ערך.
אופרטורים של רשימות
>>> li = ['a', 'b', 'mpilgrim']
>>> li = li + ['example', 'new']
>>> li
['a', 'b', 'mpilgrim', 'example', 'new'] >>> li +=
['two']
>>> li
['a', 'b', 'mpilgrim', 'example', 'new', 'two']
>>> li = [1, 2] * 3
>>> li
[1, 2, 1, 2, 1, 2]
העבירו את
הסמן מעל השורות המסומנות לקבלת הסברים
ניתן לשרשר רשימות על ידי שימוש באופרטור +. שימ/י לב: אופרטור
+ מחזיר את הרשימה החדשה, אך לא משנה את
הרשימות אותן הוא משרשר, לעומת המתודה extend שמשנה את הרשימה
ממנה היא מופעלת.
שפת פיתון תומכת באופרטור =+. הביטוי li += ['two'] זהה לביטוי li.extend(['two']).
אופרטור =+ עובד גם על מחרוזות, ועל מספרים וכן ניתן "להעמיס" עליו
בכדי שיעבוד גם עבור מחלקות אובייקטים מוגדרות-משתמש (ראה תכנות מונחה עצמים
).
אופרטור * מחזיר רשימה המורכבת משירשור
הרשימה הנתונה n פעמים, כאשר n הוא המשתנה המספרי הנתון.
|