Menu
Coddy logo textTech

אילוצים על מערכים

שיעור 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

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

challenge icon

אתגר

קל

צרו פונקציה בשם array_modifier שמקבלת 3 ערכים: רשימה, ערך ואינדקס.

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

אפשר לפתור את הבעיה הזאת בקלות בעזרת .insert המובנית, אבל אני רוצה שתתרגלו פונקציונליות אחרות.

נסו בעצמכם

import numpy as np
def array_modifier(lst, value, index):
    pass

כל השיעורים ביחידה יסודות NumPy

תרגלו בעצמכם: קומפיילר Python אונליין