רשימות בפייתון

רשימות בפייתון

במאמר זה נסביר על רשימות בפייתון.

תוכלו ללמוד על פעולות שונות על רשימות והבנת רשימות יחד עם דוגמאות קוד.

YouTube Video

רשימות בפייתון

בפייתון, מבנה הנתונים שמכונה לרוב 'מערך' מיושם בדרך כלל כרשימה. רשימות בפייתון גמישות מאוד ומאפשרות את הפעולות הבאות:.

יצירת רשימה

1# Create an empty list
2my_list = []
3print(my_list)
4
5# Create a list with elements
6my_list = [1, 2, 3, 4, 5]
7print(my_list)
  • אתה יכול ליצור רשימה ריקה או עם איברים ראשוניים שצוינו.

גישה ועריכה של אלמנטים ברשימה

1my_list = [1, 2, 3, 4, 5]
2print(my_list)  # [1, 2, 3, 4, 5]
3
4element = my_list[0]  # Get the element at index 0
5print(element)  # 1
6
7my_list[1] = 10  # Change the element at index 1 to 10
8print(my_list)  # [1, 10, 3, 4, 5]
  • ניתן לגשת לאיברי הרשימה או לשנותם על ידי ציון האינדקס שלהם.

שליפת אורך הרשימה

1my_list = [1, 2, 3, 4, 5]
2
3length = len(my_list)
4print(my_list)
5print(length)
  • באמצעות הפונקציה len() ניתן לקבל את מספר האיברים.

הוספה והכנסה של איברים לרשימה

1my_list = [1, 2, 3, 4, 5]
2
3my_list.append(6)
4print(my_list)
  • באמצעות המתודה append(), באפשרותך להוסיף איבר לסוף הרשימה.
1my_list = [1, 2, 3, 4, 5]
2
3my_list.insert(2, "A")  # Insert "A" at index 2
4print(my_list)
  • באמצעות המתודה insert() ניתן להכניס איבר לכל מיקום.

הסרת אלמנטים מרשימה

1my_list = [1, 2, 3, 4, 5]
2
3del my_list[2]  # Delete the element at index 2
4print(my_list)
5
6removed_element = my_list.pop(0)  # Delete and return the element at index 0
7print(removed_element)
8print(my_list)
  • באמצעות הפקודה del או המתודה pop(), ניתן להסיר איבר במיקום מסוים. המתודה pop() מחזירה את האיבר שהוסר.
1my_list = [1, 2, 3, 4, 5]
2
3my_list.remove(5)  # Remove the first occurrence of 5 from the list
4print(my_list)
  • באמצעות המתודה remove() ניתן להסיר את ההופעה הראשונה של ערך מסוים.

חיתוך רשימות

1my_list = [1, 2, 3, 4, 5]
2
3print(my_list[1:3])  # [2, 3]
4print(my_list[:3])   # [1, 2, 3]
5print(my_list[2:])   # [3, 4, 5]
6print(my_list[:])    # [1, 2, 3, 4, 5]
  • תחביר החיתוך [start:end] מחזיר איברים מהאינדקס start עד end - 1. ניתן גם להשמיט את start או את end.

מיון רשימה

1my_list = [2, 1, 5, 4, 3]
2print(my_list)  # [2, 1, 5, 4, 3]
3
4my_list.sort()  # Sort in ascending order (modifies the list)
5print(my_list)  # [1, 2, 3, 4, 5]
6
7my_list.sort(reverse=True)  # Sort in descending order
8print(my_list)  # [5, 4, 3, 2, 1]
  • המתודה sort() יכולה למיין רשימה בסדר עולה או יורד.
1my_list = [3, 1, 4, 2]
2sorted_list = sorted(my_list)
3print(my_list)       # [3, 1, 4, 2]
4print(sorted_list)   # [1, 2, 3, 4]
  • הפונקציה sorted() מאפשרת ליצור רשימה ממוינת חדשה מבלי לשנות את הרשימה המקורית.

יצירת רשימה הפוכה

1my_list = [1, 2, 3, 4, 5]
2
3my_list.reverse()
4print(my_list)
  • המתודה reverse() יכולה להפוך את סדר האיברים ברשימה.

הבנת רשימות

ב-Python ניתן להשתמש בתחביר יצירת רשימות (list comprehension) כדי ליצור רשימות בצורה תמציתית. יצירת רשימות מאפשרת לכתוב בשורה אחת את תהליך יצירת רשימות חדשות באמצעות לולאות for. ניתן גם להשתמש בתנאים כדי להוציא רק איברים מסוימים.

 1# Generate squares of numbers from 0 to 9
 2squares = [x**2 for x in range(10)]
 3print(squares)  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
 4
 5# Use a condition to extract squares of even numbers only
 6even_squares = [x**2 for x in range(10) if x % 2 == 0]
 7print(even_squares)  # [0, 4, 16, 36, 64]
 8
 9# Store either the square or the original number based on a condition
10squares_or_original = [x**2 if x % 2 == 0 else x for x in range(10)]
11print(squares_or_original)
12# Output: [0, 1, 4, 3, 16, 5, 36, 7, 64, 9]
  • בעזרת יצירת רשימות תוכל ליצור רשימות חדשות בצורה תמציתית באמצעות לולאות ותנאים. באמצעות if ו־if-else, ניתן ליצור הבנות רשימה שמחלצות איברים או מייצרות ערכים שונים בהתאם לתנאים.

שרשור רשימות

 1# Concatenate two lists using the + operator
 2a = [1, 2, 3]
 3b = [4, 5, 6]
 4combined = a + b
 5print(combined)  # [1, 2, 3, 4, 5, 6]
 6
 7# Extend an existing list with another list
 8a = [1, 2, 3]
 9b = [4, 5, 6]
10a.extend(b)
11print(a)  # [1, 2, 3, 4, 5, 6]
12
13# Concatenate multiple lists using unpacking (*)
14a = [1, 2, 3]
15b = [4, 5, 6]
16c = [7, 8, 9]
17merged = [*a, *b, *c]
18print(merged)  # [1, 2, 3, 4, 5, 6, 7, 8, 9]
  • ב־Python, ניתן לשרשר רשימות באמצעות האופרטור +, המתודה extend(), או תחביר הפריסה (*). נהוג להשתמש ב־+ או * כאשר יוצרים רשימה חדשה, וב־extend() כאשר מעדכנים רשימה קיימת.

סיכום

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

תוכלו לעקוב אחר המאמר שלמעלה באמצעות Visual Studio Code בערוץ היוטיוב שלנו. נא לבדוק גם את ערוץ היוטיוב.

YouTube Video