logo

כיצד לבדוק אם קיים מפתח במילון פייתון

ב-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 

סיכום

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