מהו KeyError ב- Python? מילון וטיפול בהם



מאמר זה יספק לכם ידע מפורט ומקיף כיצד לפתור את KeyError ב- Python in Dictionary.

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

מילון בפייתון

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





KeyError בפייתון

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



הבה נבחן כיצד מילון מתפקד באמצעות הדוגמה המקודדת למטה.

# יצירת דיקט מילון ריק = {} הדפס ('תכתיב אפס:') הדפס (דיקט) # יצירת מילון עם מקשי שלמים דיקט = {1: 'כיף', 2: 'ו', 3: 'פרולי'} הדפס ( 'nDiction בעזרת מקשי שלם:') הדפס (Dict) # יצירת מילון עם מקשים מעורבים Dict = {'Name': 'Arun', 1: [12, 23, 34, 45]} הדפס ('nDiction עם שימוש במקשים מעורבים: ') הדפס (Dict) # יצירת מילון בשיטת dict () Dict = dict ({1:' גרמנית ', 2:' שפה ', 3:' זה כיף '}) הדפס (' nDiction עם השימוש ב- dict (): ') הדפס (Dict) # מילון שיש לכל פריט כ- Dict Dict = dict ([(1,' שלום '), (2,' ביי ')]) הדפס (' nDiction עם כל אחד פריט כזוג: ') הדפס (Dict)

KeyError בפייתון

מכיוון שברור לנו מהו מילון בפייתון וכיצד הוא עובד. עכשיו בואו נראה מהי שגיאת מפתח. KeyError ב- Python מוגבה כאשר אתה מנסה לגשת למפתח שאינו נמצא במילון.



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

סוג הפונקציה ב- sql

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

// age = {'A': 30, 'B': 28, 'C': 33} הדפסה (גילאים ['A']) הדפסה (גילאים ['B']) הדפסה (גילאים ['C']) הדפס (גילאים ['D']) //

טיפול במנגנון עבור KeyError בפייתון

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

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

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

// רשימת הפירות ומחיריהם. ואילו (1): פירות = {'תפוח': 300, 'פפאיה': 128, 'קיווי': 233} פרי = קלט ('קבל מחיר עבור:') פרי 1 = פירות. קבל (פרי) אם פרי 1: הדפס ( f '{fruit} זה {fruit1} רופי.') אחר: הדפס (העלות של f '{fruit} אינה ידועה.')

פתרון כללי ל- KeyError

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

// while (1): ages = {'Jophi': 12, 'Rao': 20, 'Irvin': 16} person = input ('Get age for:') try: print (f '{person} is { גילאים [אדם]} שנים. ') למעט KeyError: הדפס (גיל' {person} לא ידוע. ') //

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

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

כדי לקבל ידע מעמיק על Python יחד עם היישומים השונים שלו, אתה יכול לאימונים מקוונים חיים עם תמיכה 24/7 וגישה לכל החיים.

יש לך שאלה עבורנו? הזכר אותם בקטע ההערות של 'KeyError in Python' ונחזור אליך.