मैं एक शब्दकोश में एक कुंजी की उपस्थिति का परीक्षण करना चाहता हूं क्योंकि 'अगर कुंजी शब्दकोश में नहीं है: कुछ करें' मैंने पहले से ही यह कई बार किया है, लेकिन इस बार यह अजीब तरीके से व्यवहार करता है।पायथन 2.7 एक शब्दकोश में उपस्थिति
विशेष रूप से: किसी को भी समझते हो कि यह कैसे है
term in termCircutiMap # prints False
term in termCircuitMap.keys() # prints True
:
termCircuit = termCircuitMap[term]
रिटर्न KeyError
जब मैं ग्रहण PyDev में इस कोड डिबग, मैं निम्नलिखित (का उपयोग कर भाव) मिला मुमकिन? मैंने सोचा कि अगर कुंजी सेट में कुछ है तो यह शब्दकोश में 'इन' है।
मैं मूल्यांकन का एक स्क्रीनशॉट संलग्न कर रहा हूं।
धन्यवाद समझा :)
यह अजीब बात है ... क्या इन दो सशर्त बयानों के बीच कोई कोड है? –
यदि आप वास्तव में तत्काल उत्तराधिकार में उन दो पंक्तियों को चला रहे हैं तो त्रुटि के लिए कोई स्पष्टीकरण नहीं है। 'डिक्ट में कुंजी' वास्तव में ADict.keys() 'में कुंजी से बेहतर और बेहतर है, लेकिन वे _should_ दोनों एक ही मान वापस कर देते हैं। क्या यह संभव है कि कुछ चेक के बीच शब्दकोश को संशोधित किया हो? –
क्या आप वास्तविक कोड का एक उदाहरण दिखा सकते हैं जो समस्या का प्रदर्शन करता है? आपके निर्देश में चाबियों का प्रकार क्या है? यह व्यवहार संभव हो सकता है यदि कुंजी असंगत हैश/समानता परिभाषाओं के साथ वस्तुएं हैं। – BrenBarn