שינוי ועדכון של מילונים
נמשיך את הדוגמה הקודמת:
>>> d
{'server': 'mpilgrim', 'database': 'master'}
>>> d["database"] = "pubs"
>>> d
{'server': 'mpilgrim', 'database': 'pubs'} >>> d["uid"] =
"sa"
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'}
העבירו את
הסמן מעל השורות המסומנות לקבלת הסברים
לא ניתן להחזיק מפתחות כפולים בתוך מילון. לכן ניסיון להגדיר
מפתח בשם זהה לשם קיים יחליף את ערכו של המפתח, וימחק את הערך הישן.
ניתן להוסיף זוגות של מפתח-ערך בכל זמן, והתחביר של פעולה
זו זהה להחלפת הערך של מפתח קיים (כמו ב-1).
נקודה לציון: מילונים אינם סדורים.
במילונים אין שום משמעות לסדר פנימי. לא ניתן למשל לגשת ישירות
לערך בעל מספר סידורי כלשהו, שכן אין מספרים סידוריים למפתחות, גם
לא לפי ערך אלפביתי (ישנן עם זאת דרכים עקיפות לעשות זאת, למשל על
ידי המרת המילון לרשימה – על רשימות נלמד בהמשך).
תכונה זו מסבירה את היותו של הזוג uid-sa ממוקם במקום האמצעי בפלט שבשורה האחרונה למרות שהוא
למעשה הזוג האחרון שהוכנס למילון.
עירוב טיפוסי נתונים בתוך מילון
נחזור לדוגמה שלנו:
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'}
>>> d["retrycount"] = 3
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 'retrycount':
3} >>> d[42] =
"douglas"
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 42: 'douglas',
'retrycount': 3}
העבירו את
הסמן מעל השורות המסומנות לקבלת הסברים
מילונים אינם מיועדים אך ורק למחרוזות. ערכי המילון עשויים
להיות כל טיפוס נתונים כולל מחרוזות, שלמים, אובייקטים ואף מילונים
אחרים. יתר על כן, טיפוסי הערכים באותו המילון עשויים להיות שונים
זה מזה, כפי שמופיע בדוגמה.
טיפוסי
המפתחות במילון מוגבלים יותר, והם יכולים להיות מחרוזות, שלמים או רשומות
. גם טיפוסי מפתחות יכולים להתערבב בתוך אותו המילון.
מחיקת ערכים מתוך מילון
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 42: 'douglas',
'retrycount': 3}
>>> del d[42]
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 'retrycount':
3}
>>> d.clear()
>>> d
{}
העבירו את
הסמן מעל השורות המסומנות לקבלת הסברים
הפקודה
del מאפשרת למחוק
ערכים יחידים מתוך המילון, לפי המפתח.
המתודה clear (על טיבן של מתודות ראה לעיל או בפרק על תכנות מונחה עצמים
) מרוקנת את המילון. שימ/י לב שזוג סוגריים
מסולסלים מסמן מילון ללא נתונים.
נביט בהמשך הדוגמה:
>>> d = {} >>> d["key"] =
"value" >>> d["key"] =
"other value"
>>> d
{'key': 'other value'} >>> d["Key"] =
"third value"
>>> d
{'Key': 'third value', 'key': 'other value'}
העבירו את הסמן מעל השורות המסומנות לקבלת
הסברים
בעוד שורה 3 מציבה ערך במפתח קיים,ובכך מחליפה את הערך
הישן בערך החדש, דבר זה אינו קורה בשורה 6 – מפני שמחרוזות הן תלויות רישיות
- case sensitive, ולכן "key" אינה זהה ל-"Key".
בעוד
שורה 3 מציבה ערך במפתח קיים,ובכך מחליפה את הערך הישן בערך החדש,
דבר זה אינו קורה בשורה 6 – מפני שמחרוזות הן תלויות רישיות
- case sensitive, ולכן "key" אינה זהה ל-"Key".
|