ב-Python, מילון הוא קבוצה לא מסודרת של ערכי נתונים שניתן להשתמש בהם כדי לנהל ולאחסן ערכים כמו מפה. בניגוד לסוגי נתונים אחרים, שיכולים לשאת רק ערך מסוים כפריט, מילון יכול להחזיק זוג מפתח-ערך. המילון כולל צמד מפתח-ערך כדי להפוך אותו ליעיל יותר. פולימורפיזם אסור במפתחות מילון. מילון נבנה ב-Python על ידי צירוף רצף של ערכים בסוגריים מסולסלים והפרדתם בפסיק. המילון מאחסן זוגות של ערכים, אחד מהם הוא המפתח והשני הוא אלמנט צמד המפתח:ערך.
במילון, ערכים יכולים להיות מכל מבנה נתונים ואף ניתן לשכפל אותם, אך לא ניתן להעתיק מפתחות שחייבים להיות בלתי ניתנים לשינוי.
בדיקת מפתח במילון
ב-Python, מילון הוא אכן מבנה נתונים שימושי המאחסן צמדי מפתח-ערך. קבלת הערך של מפתח ספציפי ממילון נדרשת לעתים קרובות בתכנות; עם זאת, קיומו של מפתח מסוים במילון אינו מובטח תמיד. כתוצאה מכך, מומלץ לבדוק שוב אם מפתח שייך למילון לפני אחזור הערך שלו.
שימוש ב-has_key()
אם נמצא מפתח נתון במילון, ה- has_key() השיטה מחזירה true; אחרת, הוא מחזיר false.
Python 3 הוציא את זה משימוש. ניתן להשתמש בשיטה זו אם אנו פועלים על גרסה ישנה יותר מ- Python 3.
ניתן להשתמש בפקודה למטה כדי לאשר את גרסת Python ב-cmd.
קוד:
import sys print(sys.version) Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '2' if Animals.has_key(key_to_check_for): print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals')
תְפוּקָה:
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Input In [37], in () 1 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} 2 key_to_check_for = '2' ----> 3 if Animals.has_key(key_to_check_for): 4 print('Key exists in Animals') 5 else: AttributeError: 'dict' object has no attribute 'has_key'
מכיוון שקוד זה הופעל ב- Python 3 הוא מציג שגיאה.
החזר הקלד ב-java
אם-בהצהרה
שיטה זו בודקת אם מפתח מסוים קיים בתוך המילון באמצעות המשפט if-in. אנו מעסיקים את מפעיל החברות ב , באופן זה. אופרטור זה משמש כדי לקבוע אם ערך אחד שייך לאחר. זה נותן לך תוצאה בוליאנית.
קוד:
Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} Key = '2' if '2' in Animals: print('Key exists in Animals') else: print(f'There is no key {key} in Animals')
תְפוּקָה:
Key exists in Animals
עכשיו, מסתכלים על המקרה השלילי.
קוד:
Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} if '4' in Animals: print('Key exists in Animals') else: print(f'There is no key {key} in Animals')
תְפוּקָה:
There is no key '4' in Animals
כמו כן, ה לא ב ניתן להשתמש באופרטור כדי לראות אם מפתח במילון אינו קיים. עם זאת, זכור כי ב הפעולה היא תלוית רישיות, אז או לוודא שכל המפתחות הם אותו רישיות או להשתמש ב- גבוה יותר() אוֹ נמוך יותר() שיטות.
קוד:
Animals = {'one': 'Cat', 'two':'Rat', 'three':'Bat'} setting_case = set(key.upper() for key in Animals) key_to_check_for = 'two' if key_to_check_for.upper() in setting_case: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals')
תְפוּקָה:
הבדל אריה נמר
Key exists in Animals
שימוש בשיטת get()
השיטה get() מספקת את הערך של המפתח הקשור במילון. אם המפתח לא קיים, הוא מחזיר ללא או ערך ברירת מחדל (אם סופק). נוכל להעביר מפתח לשיטה זו ולראות אם הוא קיים במילון פייתון הנתון.
התחביר של הפונקציה get() הוא:
dict_name.get(keyname, value)
כאן, dict name הוא הכותרת של המילון שבו תשתמש.
פרמטרים
קוד:
Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '2' if Animals.get(key_to_check_for) is not None: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals')
תְפוּקָה:
Key exists in Animals
עכשיו לוקחים מקרה שלילי,
קוד:
Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '5' if Animals.get(key_to_check_for) is not None: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals')
תְפוּקָה:
There is no key '5' in Animals
בעת שימוש בשיטה זו, אנא זכור שאם יש לנו מפתח עם הערך הזה None, הוא לא יהיה מדויק. אם אין לנו כזה, הטכניקה הזו תספיק. אם נרצה להשתמש בערכים המוחזרים בשיטה זו, נוכל לשמור אותם במשתנה.
סימן מים במילה
שימוש במקשים()
ה keys() ניתן להשתמש בפונקציה ובאופרטור 'in' כדי לראות אם קיים מפתח במילון. ה keys() השיטה מחזירה רשימה של מפתחות במילון, והמשפט 'if, in' בודק אם המפתח שסופק נמצא ברשימה. הוא מחזיר True אם המפתח קיים; אחרת, הוא מחזיר False.
קֶלֶט
Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key='2' if key in Animals.keys(): print('Key exists in Animals') else: print(f'There is no key {key} in Animals')
תְפוּקָה:
Key exists in Animals
בדוק אם למילון יש מקשים מרובים.
בהצהרה אחת, נוכל גם לבדוק אם המילון מכיל מספר מפתחות. אנחנו יכולים להשתמש ב את כל() פונקציה בשילוב עם הבנת הרשימה כדי לראות אם המילון מכיל רבים או את כל המקשים.
קוד:
Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key='2' if all(key in Animals for key in ('1','5')): print('All keys exists in Animals') else: print('Not all the keys are there in Animals')
תְפוּקָה:
Not all the keys are there in Animals
בדוק את רשימת המילונים כדי לראות אם המפתח קיים
רשימה של מילונים היא אוסף של מילונים שניתן למצוא ברשימה.
- list_of_dictionary - רשימה ובה שלושה אובייקטים מילוניים.
- 'ב' במפתחות למפתחות ברשימת המילון - הפקת רשימת המפתחות בתוך רשימת המילונים באמצעות הבנת רשימה. לאחר מכן, ברשימה, בדוק אם אחד זמין. זה יחזיר רשימה עם True עבור מפתחות שהם 'b' ו-false עבור מפתחות שאינם אחד.
- any() - מאמת את הרשימה True/False שסופקה על ידי הבנת הרשימה. המפתח 'b' קיים ברשימת המילונים אם הוא כולל לפחות True אחד. הבלוק 'אם' מבוצע לאחר שהוא מחזיר True. אחרת, הבלוק 'אחר' מבוצע.
קוד:
list_of_dictionaries = [{'a': 'A'}, {'b': 'B'}, {'c': 'C'}] if any('b' in keys for keys in list_of_dictionary): print('key exists in list_of_dictionaries') else: print('key does not exists in list_of_dictionaries')
תְפוּקָה:
מערכת קבצים בלינוקס
Key exists in list_of_dictionaries
בדוק אם המפתח נמצא במילון JSON
JSON קיצור של 'Javascript Object Notation', וזהו זוג מפתח-ערך ששומר ערכים.
ה json.loads() ניתן להשתמש בשיטה כדי לבנות מילון מטקסט JSON.
לאחר מכן, כפי שניתן לראות להלן, נוכל להשתמש ב-'if and in' כדי לראות אם המפתח קיים במילון JSON.
קֶלֶט
import json json_str = '''{'a': 'A', 'b': 'B', 'c': 'C'}''' json_dictionary = json.loads(json_str) if 'c' in json_dictionary: print('Key is present in the JSON dictionary') else: print('Key is not present in JSON dictionary')
תְפוּקָה:
Key is present in the JASON dictionary
סיכום
לסיכום, למדנו כיצד לבדוק אם המפתח נמצא במילון באמצעות מספר דרכים. למדנו גם כיצד ליישם את השיטות הללו על מקרים שונים כדי לראות אם המפתח נמצא במילון. ראינו גם איך כל אפשרות לוקחת פרק זמן שונה.