כיצד להשתמש בהבנת רשימות ב- Python

כיצד להשתמש בהבנת רשימות ב- Python

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





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





מהי הבנת רשימות בפייתון וכיצד היא פועלת?

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





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

כיצד ליצור קשר עם אמזון אם הפריט אינו מסופק

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



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

בסופו של דבר, אתה יכול גם להשתמש בפלט של הבנת רשימה למטרות אחרות. זה בגלל שהוא מערם ביטויים במשתנים נפרדים. אז תוכל להתייחס אליהם מאוחר יותר.





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

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





תסתכל על הדוגמה למטה:

Products = [i.text for i in bs.find_all('name tags')]
Price = [i.text for i in bs.find_all('price tags')]

לאחר שתקבל את המשתנים הלולאה, תוכל לשים אותם בעמודות נפרדות ב- DataFrame באמצעות פנדות של פייתון.

כיצד ליצור ולהשתמש בהבנת רשימה ב- Python

ה ל לולאה היא איטרציה חיונית בהבנת רשימה. באופן כללי, הבנת רשימה ב- Python לובשת פורמט זה:

ComprehensionVariable = [expression for items in list]

הַדפָּסָה הבנה משתנה מוציא את תוצאת הקוד לעיל כרשימה.

עם זאת, היזהר לא לבלבל בין הבנת רשימה לפתיחה ל לוּלָאָה.

לדוגמה, בואו השתמש בלולאה פתוחה כדי לקבל רשימה של כל מכפילים של שלושה בין 1 ל -30:

myList = []
for i in range(1, 11):
myList.append(i * 3)
print(myList)
Output: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

כדי להשוות בין השניים, בואו נעשה את אותו הדבר באמצעות הבנת רשימה:

multiplesOf3 = [i*3 for i in range(1, 11)]
print(multiplesOf3)
Output = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

אתה יכול להשתמש בהבנת רשימה עם הצהרות מותנות גם כן. הקוד לדוגמא להלן מדפיס את כל המספרים המוזרים בין 1 ל -10:

oddNumbers = [i for i in range(1, 11) if not i%2==2]
print(oddNumbers)
Output = [1, 3, 5, 7, 9]

כעת, בואו נכתוב מחדש את הקוד לעיל באמצעות open ל לוּלָאָה:

myList = []
for i in range(1, 11):
if not i%2 == 0:
myList.append(i)
print(myList)
Output: [1, 3, 5, 7, 9]

קָשׁוּר: כיצד לצרף רשימה ב- Python

הבנת רשימה גם מקבלת אם הצהרות:

oddNumbers = [i for i in range(1, 11) if not i%2==0 if i<4]
print(oddNumbers)
Output: [1, 3]

זה גם דורש קינון ל לוּלָאָה:

someNums = [[i*2 for i in range(1, 3)] for _ in range(4)]
print(someNums)

אתה יכול גם לקבל קן רגיל ל לולאה בהבנת רשימה:

someNums = [i*2 for i in range(1, 3) for k in range(4)]

אתה יכול לתפעל מחרוזות גם עם הבנת רשימות Python. הבה נסתכל להבנת מנגד נגד מילים להלן:

word = ['This is a python list comprehension tutorial']
wordCounter = [i.count(' ') + 1 for i in word]
print(wordCounter)
Output: 7

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

Numbers = [4, 7, 8, 15, 17, 10]
def multiplier(n):
multiple = n*2
return multiple
multipleEven = [multiplier(i) for i in Numbers if i%2==0]
print(multipleEven)
Output: [8, 16, 20]

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

לדוגמה, תוכל לבצע פעולה נוספת ב נ ושיהיה לו משתנה ייעודי. בואו נשנה את ההבנה למעלה כדי ליצור מספרים זוגיים ממספרים מוזרים:

multipleEvenFromOdds = [multiplier(i) for i in Numbers if not i%2==0]
print(multipleEvenFromOdds)
Output: [14, 30, 34]

מילון והגדרות הבנות

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

תסתכל על הבנת המילון לדוגמא להלן כדי לראות איך זה עובד:

corresponding = {i: i*2 for i in range(10) if not i%2==0}
print(corr)
Output: {1: 2, 3: 6, 5: 10, 7: 14, 9: 18}

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

קָשׁוּר: כיצד פועלים מערכים ורשימות ב- Python

הבנת קבוצה דומה מעט להבנת רשימה. להלן דוגמא להבנת קבוצה:

כיצד להעביר מוזיקה מאייפוד ל- itunes
numbers = {i**(2) for i in range(10) if i%4==0}
print(numbers)
Output: {0, 16, 64}

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

nums = {i for i in range(20) if i%2==1 for k in range(10) if k%2==1}
print(nums)
Output: {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}

תוכל לנסות את הקוד למעלה באמצעות הבנת רשימה כדי לראות כיצד הם שונים.

האם אתה יכול להשתמש בהבנת רשימה בכל פעם?

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

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

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל כיצד להשתמש בהבנות של רשימות פייתון (ומתי אין להשתמש בהן)

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

קרא הבא
נושאים קשורים
  • תִכנוּת
  • פִּיתוֹן
על הסופר אידיסו אומיסולה(פורסמו 94 מאמרים)

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

עוד מאת Idowu Omisola

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה