כיצד פועלים מערכים ורשימות ב- Python

כיצד פועלים מערכים ורשימות ב- Python

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





תנאים מוקדמים

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





אמנם ניתן ליישם את הרעיונות הבסיסיים הבאים בכל שפה, אך אדגים את הדוגמאות בפייתון. זוהי שפה קלה ללמידה ומספקת פלטפורמה מצוינת להבין מה קורה. בנוסף לזה, tutorialspoint.com מספק מתורגמן מצוין לפייתון - אתה אפילו לא צריך להתקין פייתון אם אתה לא רוצה (אם כן, עיין במדריך שלנו לסביבות וירטואליות).





מבני מידע

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

אולי שמעת על כמה לינארית סוגי נתונים (האלמנטים הם ברצף):



  • מַעֲרָך
  • מַטרִיצָה
  • טבלת חיפוש

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

  • רשימה מקושרת
  • רשימה מקושרת כפליים
  • רשימת מערכים או מערך דינמי

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





מַעֲרָך

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

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





from array import array
numbers = array('i', [2, 4, 6, 8])
print(numbers[0])

השורה הראשונה מייבאת את מַעֲרָך מודול - זה נדרש לעבודה עם מערכים. השורה השנייה יוצרת מערך חדש בשם מספרים ומאתחל אותו עם הערכים 2, 4, 6 ו- 8. לכל אלמנט מוקצה מספר שלם ערך הנקרא a מַפְתֵחַ אוֹ אינדקס . מפתחות מתחילים ב אֶפֶס , לכן מספרים [0] ייכנס לרכיב הראשון ( 2 ):

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

wpa psk tkip wpa2 psk aes

לא ניתן לאחסן סוגים מעורבים במערכים אלה. נניח שרצית לאחסן את המחרוזת 'makeuseof.com':

numbers = array('i', [2, 4, 6, 'makeuseof.com'])

זה לא יתאפשר ויניב חריג:

כך תוכל להדפיס את כל האלמנטים:

print(numbers)

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

כל שפת תכנות תיישם לולאה כלשהי, המתאימות לאיטראציה (לולאה) על רכיבי רשימה. הלולאות הנפוצות ביותר הן בזמן ו ל . פייתון הופך את הדברים לקלים עוד יותר על ידי מתן ב לוּלָאָה:

for number in numbers:
print(number)

שימו לב כיצד לא הייתם צריכים לגשת לאלמנטים באמצעות המפתח שלהם. זוהי דרך טובה בהרבה לעבוד עם מערך. דרך חלופית לחזור על רשימה היא באמצעות ל לוּלָאָה:

for i in range(len(numbers)):
print(numbers[i])

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

רשימות

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

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

כמה זמן קיים bitconnect
cars = ['Ford', 'Austin', 'Lancia']

שים לב כיצד אינך צריך לייבא את מַעֲרָך מודול?

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

print(cars)

בדיוק כמו במערך, אתה יכול לחזור על רכיבי רשימה באמצעות לולאות:

for car in cars:
print(car)

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

cars = ['Ford', 'Austin', 'Lancia', 1, 0.56]

זו לא בעיה עבור פייתון - היא אפילו לא העלתה יוצא מן הכלל:

קל להוסיף אלמנטים חדשים לרשימה (דבר שאינו אפשרי במערכים):

cars = ['Ford', 'Austin']
print(cars)
cars.append('Lancia')
print(cars)

תוכל גם למזג שתי רשימות לאחת:

cars = ['Ford', 'Austin']
print(cars)
other_cars = ['Lotus', 'Lancia']
cars.extend(other_cars)
print(cars)

פשוט להסיר אלמנטים באמצעות ה- לְהַסִיר תחביר:

cars = ['Ford', 'Austin', 'Lotus', 'Lancia']
print(cars)
cars.remove('Ford')
print(cars)

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

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל 5 טיפים להטעין את מכונות הלינוקס של VirtualBox

נמאס לכם מהביצועים הגרועים שמציעות מכונות וירטואליות? הנה מה שאתה צריך לעשות כדי לשפר את ביצועי VirtualBox שלך.

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

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

עוד מאת ג'ו קוברן

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

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

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