top of page

רעננו את הדף והקליקו למעבר לנושא הבא:

List comprehension –רשימה מהירה

  • Feb 28, 2019
  • 1 min read

List comprehension –רשימה מהירה

קודם הדרך המסורתית ליצירת רשימה –

lista=[ ] for i in range(10): lista.append(i) print(lista)

>>>

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

והדרך המקוצרת list comprehension–

lista=[i for i in range(10)] print (lista)

>>>

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


פשוט מכניסים לתוך סוגריים מרובעים (כך אנו יודעים שמדובר ברשימה) את הנוסחה למה שאנו רוצים שיופיע ברשימה. במקרה שלנו אנו מפעילים את הלולאה for בשילוב עם פקודת range ומבקשים שהרשימה תכלול את מה שיהיה בתוך המשתנה i עבור כל i בטווח שקבענו.

יש לנו שורה אחת במקום 3 ורמת הקריאות היא גבוהה יותר מאשר בפונקציית lambda המסורתית עאלק.

אפשר גם עם פקודת list הלוקחת ישירות מהטווח שמייצרת פקודת range ומייצרת רשימה -

print (list(range(5))

>>>

[0, 1, 2, 3, 4]

ועוד כמה אפשרויות נאות –


lista=[x*x for x in range(1,6)] print (lista)

>>>

[1, 4, 9, 16, 25]

lista=[x*x for x in range(1,11) if x%2!=0] print (lista)

>>>

[1, 9, 25, 49, 81]


למעלה- התוכנית הראשונה מייצרת רשימה של ריבוע כל המספרים מ - 1 עד 5 (לא כולל 6)

התוכנית השנייה כוללת, באותה שורה, גם תנאי (if) ששארית המנה של כל אחד מריבועי המספרים (כשהוא מחולק במספר 2) בטווח (1-10 כולל 10 לא כולל 11) תהיה שונה (!=) מ- 0 – כלומר רק מספרים אי זוגיים. והכל בשורה אחת של קוד (לא מחשיב את שורת print בחשבון הזה) .

 
 
 

Related Posts

See All
תוכן הקורס

לחץ למעבר לשיעור תוכן עניינים מבוא הורדה והתקנת התוכנה על גבי המחשב שלכם חלק ראשון - יסודות פקודת print מחרוזות - גרשיים (") או גרש (') פעולות מתמטיות בסיסיות סוגי מספרים - integer

 
 
 
מבוא

הרקע של פייתון - שפת התכנות פייתון (python) פותחה על ידי הולנדי בשם Guido van Rossum ונקראה בהומור על שם חבורות הקומיקאים הבריטית מונטי-פייתון, כאשר משמעות המילה פייתון כשלעצמה היא נחש חנק מסוג פיתון,

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

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

 
 
 

Comments


Commenting on this post isn't available anymore. Contact the site owner for more info.
Single Post: Blog_Single_Post_Widget
bottom of page