ההבנה של רשימת Python מוסברת עם דוגמאות

הבנת הרשימות מספקת דרך תמציתית ליצור רשימות ב- Python. הם קריאים יותר ולעתים קרובות יעילים יותר מאשר שימוש בלולאות מסורתיות. מאמר זה יחקור מהי הבנת הנקרא, כיצד הם פועלים, ויספק דוגמאות להמחשת השימוש בהם.

מהי הבנת רשימה?

הבנת רשימה היא דרך קומפקטית לעבד את כל האלמנטים באוסף או חלק מהם ולהחזיר רשימה עם התוצאות. התחביר של הבנת רשימה הוא:

[expression for item in iterable if condition]

כאן, expression הוא הפריט הנוכחי באיטרציה, אבל זו גם התוצאה, שתוכל לתפעל אותה לפני שהיא תיגמר כפריט רשימה. iterable הוא האוסף שאתה עובר דרכו, ו-condition הוא מסנן אופציונלי הכולל רק פריטים שעומדים בתנאי.

דוגמאות בסיסיות

יצירת רשימה של ריבועים

כדי ליצור רשימה של ריבועים של מספרים מ-0 עד 9, אתה יכול להשתמש בהבנת רשימה באופן הבא:

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
squares = [x ** 2 for x in numbers]
print(squares)

תְפוּקָה:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

סינון פריטים

ניתן גם להוסיף תנאי לסינון פריטים. לדוגמה, כדי לקבל רק את המספרים הזוגיים מהרשימה:

even_squares = [x ** 2 for x in numbers if x % 2 == 0]
print(even_squares)

תְפוּקָה:

[0, 4, 16, 36, 64]

רידוד רשימת רשימות

אם יש לך רשימה של רשימות ואתה רוצה לשטח אותה, אתה יכול להשתמש בהבנת רשימה:

list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [item for sublist in list_of_lists for item in sublist]
print(flattened)

תְפוּקָה:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

דוגמאות מתקדמות

החלת פונקציות

אתה יכול להחיל פונקציות בתוך הבנת רשימה. לדוגמה, כדי להמיר רשימה של מחרוזות לאותיות רישיות:

words = ['hello', 'world', 'python']
uppercase_words = [word.upper() for word in words]
print(uppercase_words)

תְפוּקָה:

['HELLO', 'WORLD', 'PYTHON']

הבנות מקוננות

ניתן לקנן הבנת הנקרא. לדוגמה, כדי ליצור רשימה של tuples (i, j) כאשר i ו-j הם שניהם אלמנטים משתי רשימות:

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
pairs = [(i, j) for i in list1 for j in list2]
print(pairs)

תְפוּקָה:

[(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]

מַסְקָנָה

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