एक उपयोगकर्ता ने पूछा (Keyerror while using pandas in PYTHON 2.7) क्यों वह एक शब्दकोश में देखकर KeyError
था और वह इस अपवाद से कैसे बच सकता है।क्या मैं `all` का सही उपयोग कर रहा हूं?
एक उत्तर के रूप में, मैंने सुझाव दिया कि वह पहले शब्दकोश में चाबियों की जांच करे। तो, अगर वह dictionary
में सभी चाबियाँ ['key_a', 'key_b', 'key_c']
की जरूरत है, वह इसके साथ परीक्षण कर सकते हैं:
if not all([x in dictionary for x in ['key_a', 'key_b', 'key_c']]):
continue
इस तरह वह शब्दकोशों कि उम्मीद चाबियाँ नहीं था की अनदेखी कर सकता है (शब्दकोशों की सूची JSON से बाहर बनाई गई है फ़ाइल से लोड स्वरूपित लाइनें)। * इस प्रश्न के लिए प्रासंगिक होने पर अधिक जानकारी के लिए मूल प्रश्न का संदर्भ लें।
एक उपयोगकर्ता पाइथन और एसओ में अधिक अनुभवी है, जिसे मैं अपने करियर के लिए इस मामले पर अधिकार मानता हूं और सोने के बैज ने मुझे बताया कि मैं all
गलत तरीके से उपयोग कर रहा था। मैं सोच रहा था कि क्या यह वास्तव में मामला है (जो मैं कह सकता हूं, वह अपेक्षित काम करता है) और क्यों, या अगर यह जांचने का एक बेहतर तरीका है कि कुछ चाबियाँ एक शब्दकोश में हैं या नहीं।
बस यहां अपने प्रश्न के लिए एक तरफ के रूप में, लेकिन यदि आप इस बात से चिंतित हैं कि कुंजी प्राप्त करने का प्रयास करने से पहले एक कुंजी में एक कुंजी है या नहीं, तो आप हमेशा 'get()' विधि को विधि पर कॉल कर सकते हैं। तो 'dict.get ('कुंजी', कोई नहीं) 'या तो' कुंजी 'या' कोई नहीं 'का मान वापस कर देगा, जहां' dict [' key '] 'के परिणामस्वरूप KeyError हो सकता है। – Jkdc