פרסומת

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

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

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

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

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

מבני מידע

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

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

  • מערך
  • מטריקס
  • טבלת חיפוש

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

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

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

מערך

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

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

ממערך יבוא מערך. מספרים = מערך ('i', [2, 4, 6, 8]) מספרים להדפיס [0]

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

מערכי פייתון

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

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

numbers = מערך ('i', [2, 4, 6, "makeuseof.com"])

הדבר אסור ויזה חריג:

מערכי פייתון

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

הדפס מספרים
מערכי פייתון

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

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

למספר במספרים: מספר הדפס

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

עבור i בטווח (len (מספרים)): מספרים להדפיס [i]

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

רשימות

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

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

מכוניות = ['פורד', 'אוסטין', 'לנצ'יה']

שימו לב כיצד אינכם צריכים לייבא את ה- מערך מודול?

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

מכוניות דפוס
מערכי פייתון

בדיוק כמו במערך, באפשרותך להחליף רכיבי רשימה על פני שימוש בלולאות:

לרכב במכוניות: מכונית דפוס
מערכי פייתון

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

מכוניות = ['פורד', 'אוסטין', 'לנצ'יה', 1, 0.56]

זו לא בעיה עבור פייתון - זה אפילו לא העלה חריג:

מערכי פייתון

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

מכוניות = ['פורד', 'אוסטין'] מכוניות דפוס. cars.append ('לנצ'יה') מכוניות דפוס
מערכי פייתון

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

מכוניות = ['פורד', 'אוסטין'] מכוניות דפוס. other_cars = ['Lotus', 'Lancia'] cars.extend (other_cars) מכוניות דפוס
מערכי פייתון

זה קל באותה מידה להסיר אלמנטים באמצעות ה- הסר תחביר:

מכוניות = ['פורד', 'אוסטין', 'לוטוס', 'לנצ'יה'] מכוניות דפוס. cars.remove ('פורד') מכוניות דפוס
מערכי פייתון

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

האם למדת משהו חדש? האם תרצה לראות תוכן מורכב יותר? ספר לנו את מחשבותיך בתגובות למטה!

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