English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في 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 هو حاوية. يقع في مكتبة 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 لا يوجد مفتاح