אילוצים על מערכים
שיעור 3 מתוך 18 בקורס יסודות NumPy של Coddy.
למערכים יש גודל קבוע. לאחר יצירת מערך עם n איברים, גודל המערך יהיה n ואי אפשר לשנות אותו בהמשך. כדי ליצור מערך גדול או קטן יותר, עלינו ליצור מערך חדש ולאכלס אותו בנתונים. מערכים אינם תומכים ב־append או ב־delete כמו רשימות Python.
לדוגמה:
ary = np.array([34, 59, 5])המשתנה ary מכיל מערך חד־ממדי עם 3 איברים.
כדי לגשת לכל איבר, משתמשים בסוגריים [], בדיוק כמו ברשימת Python רגילה:
ary[1] # מכיל את הערך 59כדי למחוק איבר, משתמשים ב־np.delete. הפעולה לא תשפיע על ary המקורי, אלא תחזיר מערך חדש ללא האיבר שהיא מוחקת.
כדי להחליף את ary המקורי במערך החדש והקטן יותר, יש להציב את התוצאה במשתנה ary:
ary = np.delete(ary, 1)כדי להוסיף איבר, משתמשים ב־np.append
ary = np.append(ary, 5)כעת ary יכיל את [34, 59, 5, 5]. גם np.append מחזירה מערך חדש ואינה משנה את המערך המקורי.
כדי לגשת לאיבר האחרון, אפשר להשתמש בכמה אפשרויות:
ary[-1]
ary[len(ary)-1]
ary[2]בדיוק כמו ברשימת Python רגילה מסוג list
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
אתגר
קלצרו פונקציה בשם array_modifier שמקבלת 3 ערכים: רשימה, ערך ואינדקס.
המירו את הרשימה למערך numpy, והוסיפו את הערך החדש באינדקס שצוין. אסור להשתמש בפונקציונליות של רשימות.
אפשר לפתור את הבעיה הזאת בקלות בעזרת .insert המובנית, אבל אני רוצה שתתרגלו פונקציונליות אחרות.
נסו בעצמכם
import numpy as np
def array_modifier(lst, value, index):
passכל השיעורים ביחידה יסודות NumPy
תרגלו בעצמכם: קומפיילר Python אונליין