قبل أن نتعمق في KeyError في ، من المهم معرفة كيفية إعداد قاموس بلغة بيثون. ستتم مناقشة المؤشرات التالية في هذه المقالة:
القاموس في بايثون
ال المفهوم في Python عبارة عن مجموعة عشوائية من القيم ، والتي قامت بتخزين قيم البيانات مثل الخريطة. إنه يختلف عن أنواع البيانات الأخرى التي تحتوي على قيمة واحدة فقط كعنصر. إنه يحمل المفتاح: زوج القيمة.
القيمة الرئيسية تجعلها أكثر كفاءة. تفصل النقطتان بين مفتاح وزوج قيم وتفصل 'فاصلة' كل مفتاح. يعمل هذا القاموس بلغة Python بشكل مشابه للقاموس العادي. يجب أن تكون المفاتيح المعنية فريدة وأن تكون من أنواع البيانات غير القابلة للتغيير مثل السلاسل والأعداد الصحيحة والصفوف ، ولكن يمكن تكرار قيم المفاتيح ويسمح لها بأن تكون من أي نوع. يمكن أن تكون هناك مفاتيح ، وهي سلاسل تشير إلى أرقام والعكس صحيح.
دعونا نلقي نظرة على كيفية عمل القاموس من خلال المثال المشفر أدناه.
# إنشاء قاموس فارغ = {} print ('Nullict:') print (Dict) # Creating Dictionary with Integer Keys Dict = {1: 'Fun'، 2: 'And'، 3: 'Frolic'} print ( 'nD Dictionary with use of Integer Keys:') print (Dict) # Creating Dictionary with Mixed keys Dict = {'Name': 'Arun'، 1: [12، 23، 34، 45]} print ('nDictionary with the استخدام المفاتيح المختلطة: ') print (Dict) # إنشاء قاموس باستخدام طريقةict () Dict =ict ({1:' German '، 2:' language '، 3:' is fun '}) طباعة (' nDictionary with استخدام ديكت (): ') طباعة (ديكت) # قاموس يحتوي كل عنصر على شكل زوج ديكت = ديكت ([(1 ، 'مرحبًا') ، (2 ، وداعًا)]) طباعة ('nDictionary مع كل العنصر كزوج: ') طباعة (Dict)
KeyError في بايثون
نظرًا لأننا واضحون بشأن ماهية القاموس في Python وكيف يعمل. الآن دعونا نرى ما هو الخطأ الرئيسي. يظهر KeyError في Python عند محاولة الوصول إلى مفتاح غير موجود في القاموس.
منطق التعيين هو هيكل بيانات يقوم بتعيين مجموعة واحدة من البيانات لمجموعة أخرى مهمة. ومن ثم ، فهو خطأ يظهر عند الوصول إلى التعيين وعدم العثور عليه. من المألوف لخطأ البحث حيث يتم ذكر الخطأ الدلالي حيث أن المفتاح الذي تبحث عنه لا يوجد في ذاكرته. يمكن توضيح ذلك بشكل أفضل في الكود أدناه.
ما هي الأحداث في جافا سكريبت
هنا أحاول الوصول إلى مفتاح يسمى 'D' وهو غير موجود في القاموس. ومن ثم ، يتم طرح الخطأ بمجرد العثور على استثناء. ومع ذلك ، فإن المفاتيح المتبقية الموجودة في القاموس ، والتي تمت طباعتها بشكل صحيح ، لها القيم الدقيقة المقابلة لها.
// age = {'A': 30، 'B': 28، 'C': 33} طباعة (الأعمار ['A']) طباعة (الأعمار ['B']) طباعة (الأعمار ['C']) طباعة (الأعمار ['D']) //
آلية التعامل مع KeyError في Python
يمكن لأي شخص يواجه KeyError التعامل معه بطريقة مسؤولة. إنها مهارته في النظر في جميع المدخلات الممكنة لبرنامج معين والتعامل مع أي إدخالات محفوفة بالمخاطر بنجاح.
اعتمادًا على حالة الاستخدام الخاصة بك ، قد تكون بعض هذه الحلول أفضل أو قد لا تكون أيضًا الحل الدقيق الذي تبحث عنه. ومع ذلك ، فإن الهدف النهائي هو إيقاف ظهور استثناءات أخطاء المفاتيح غير المتوقعة.
إذا ظهر خطأ من قاموس في التعليمات البرمجية الخاصة بك ، فيمكنك استخدام .get () لاستخراج القيمة من المفتاح المحدد أو القيمة الافتراضية. دعونا نلقي نظرة على عينة.
// قائمة الفواكه وأسعارها. while (1): ثمار = {'Apple': 300، 'Papaya': 128، 'Kiwi': 233} فاكهة = إدخال ('احصل على سعر لـ:') fruit1 = fruit.get (fruit) if fruit1: طباعة ( f '{fruit} هي {fruit1} روبية.') وإلا: طباعة (تكلفة f '{fruit} غير معروفة.')
حل عام ل KeyError
الحل المعتاد هو أنه يمكنك دائمًا استخدام كتلة try-except لمعالجة هذه المشكلات عن طريق رفع الكود المناسب وتوفير حل احتياطي. تحقق من الكود أدناه لمزيد من الوضوح.
// while (1): age = {'Jophi': 12، 'Rao': 20، 'Irvin': 16} person = input ('Get age for:') حاول: print (f '{person} هو { الأعمار [شخص]} سنة. ') باستثناء KeyError: print (f' {person} 's age is unknown.') //
بهذا نصل إلى نهاية مقالة KeyError في بايثون. آمل أن تكون هذه المقالة مفيدة في إلقاء الضوء على استثناء KeyError في Python وكيف يمكن رفعه. أيضًا ، قد تكون على دراية الآن أنه في حال كانت المشكلة هي البحث عن مفتاح القاموس في التعليمات البرمجية الخاصة بك ، فيمكنك التبديل من الوصول إلى المفتاح مباشرة في القاموس إلى استخدام طريقة .get () بقيمة إرجاع افتراضية.
إذا لم تكن المشكلة ناتجة عن التعليمات البرمجية الخاصة بك ، فاستخدم كتلة try-except للتحكم بشكل أفضل في تدفق التعليمات البرمجية.
للحصول على معرفة متعمقة بـ Python مع تطبيقاتها المختلفة ، يمكنك ذلك للتدريب المباشر عبر الإنترنت مع دعم على مدار الساعة طوال أيام الأسبوع وإمكانية الوصول مدى الحياة.
لديك سؤال لنا؟ أذكرها في قسم التعليقات في 'KeyError في Python' وسنعاود الاتصال بك.