English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

معالجة المفاتيح المفقودة في قاموس Python

في Python، هناك حاوية تُدعى القائمة. في القائمة، يمكننا ربط المفتاح بالقيمة. يمكن استخدام القائمة لتحقيق الوصول إلى القيمة في وقت ثابت. ولكن، إذا لم يكن المفتاح المحدد موجودًا، قد تحدث بعض الأخطاء.

في هذا الفصل، سنرى كيفية التعامل مع مثل هذه الأخطاء. إذا حاولنا الوصول إلى المفتاح المفقود، فقد نحصل على مثل هذه الخطأ.

مثال على البرنامج النصي

country_dict = {'India': 'IN', 'Australia': 'AU', 'Brazil': 'BR'}
print(country_dict['Australia'])
print(country_dict['Canada']) # This will return error

نتيجة الإخراج

AU
---------------------------------------------------------------------------
KeyErrorTraceback (most recent call last)
<ipython-input-2-a91092e7ee85> in <module>()
      2 
      3 print(country_dict['Australia'])
----> 4 print(country_dict['Canada'])# This will return error
KeyError: 'Canada'

استخدامget()Method معالجة KeyError

يمكننا استخدام طريقة get لفحص المفتاح. هذه الطريقة تحتوي على متغيرين. الأول هو المفتاح، والثاني هو القيمة الافتراضية. بعد العثور على المفتاح، سيقوم بتقديم القيمة المرتبطة بالمفتاح، ولكن عندما لا يكون المفتاح موجودًا، سيقوم بتقديم القيمة الافتراضية التي تم تمريرها كمعامل ثاني.

مثال على البرنامج النصي

country_dict = {'India': 'IN', 'Australia': 'AU', 'Brazil': 'BR'}
print(country_dict.get('Australia', 'غير موجود'))
print(country_dict.get('Canada', 'غير موجود'))

نتيجة الإخراج

AU
غير موجود

استخدامsetdefault()Method معالجة KeyError

الsetdefault()الطريقة تشبهget()الطريقة. يحتاج أيضًا إلى معاملين، مثلget(). الأولى هي المفتاح، والثانية هي القيمة الافتراضية. الفرق الوحيد في هذه الطريقة هو أنه عند عدم وجود المفتاح، سيتم إضافة مفتاح جديد يحتوي على القيمة الافتراضية.

مثال على البرنامج النصي

country_dict = {'India': 'IN', 'Australia': 'AU', 'Brazil': 'BR'}
country_dict.setdefault('Canada', 'غير موجود') #تعيين قيمة افتراضية للكندا
print(country_dict['Australia'])
print(country_dict['Canada'])

نتيجة الإخراج

AU
غير موجود

استخدام defaultdict

defaultdict هو حاوية. يقع في مكتبة collections الخاصة بـ Python. يأخذ defaultdict كائن المصنع كمعامل.

لا نحتاج إلى تحديد الطريقة مرارًا وتكرارًا، لذا يقدم هذا الدليل أسهل طريقة للقواميس.

مثال على البرنامج النصي

import collections as col
#تعيين المصنع الافتراضي باستخدام النص 'لا يوجد مفتاح'
country_dict = col.defaultdict(lambda: 'لا يوجد مفتاح')
country_dict['India'] = 'IN'
country_dict['Australia'] = 'AU'
country_dict['Brazil'] = 'BR'
print(country_dict['Australia'])
print(country_dict['Canada'])

نتيجة الإخراج

AU
لا يوجد مفتاح
من المحتمل أن تعجبك