पाइथन प्रोग्रामिंग में शब्दकोश (डिक्शनरी) एक आधारशिला हैं, जो कुशल कुंजी-मान संग्रहण प्रदान करते हैं। एक बारंबार कार्य यह निर्धारित करना है कि क्या कोई विशिष्ट कुंजी शब्दकोश के भीतर मौजूद है। पाइथन इसके लिए कई सुंदर समाधान प्रदान करता है, प्रत्येक अपनी ताकत और कमजोरियों के साथ। आइए सबसे प्रभावी तरीकों का पता लगाएं।
विषयवस्तु सारणी
in
कीवर्ड का उपयोग करनाget()
विधि का उपयोग करनाKeyError
अपवादों को संभालना- प्रदर्शन विचार
- अच्छी प्रक्रियाएँ
in
कीवर्ड का उपयोग करना
सबसे पाइथोनिक और आम तौर पर सबसे कुशल विधि in
कीवर्ड का उपयोग करना है। यह ऑपरेटर सीधे शब्दकोश के भीतर कुंजी सदस्यता की जांच करता है।
my_dict = {"apple": 1, "banana": 2, "cherry": 3}
if "banana" in my_dict:
print("Banana कुंजी मौजूद है!")
else:
print("Banana कुंजी मौजूद नहीं है।")
इसकी संक्षिप्तता और पठनीयता इसे साधारण कुंजी अस्तित्व जाँच के लिए पसंदीदा विकल्प बनाती है।
get()
विधि का उपयोग करना
get()
विधि एक लचीला विकल्प प्रदान करती है। यह आपको किसी कुंजी के अस्तित्व की जांच करने की अनुमति देता है जबकि साथ ही इसके मान (या यदि कुंजी अनुपस्थित है तो एक डिफ़ॉल्ट मान) को पुनः प्राप्त करता है।
my_dict = {"apple": 1, "banana": 2, "cherry": 3}
value = my_dict.get("banana")
if value is not None:
print(f"Banana मौजूद है, मान: {value}")
default_value = my_dict.get("grape", "कुंजी नहीं मिली")
print(f"Grape: {default_value}")
यह फायदेमंद है जब आपको एक ही चरण में कुंजी अस्तित्व जांच और मान पुनर्प्राप्ति दोनों की आवश्यकता होती है। वैकल्पिक दूसरा तर्क अपवाद उठाने के बिना लापता कुंजियों को संभालने का एक स्वच्छ तरीका प्रदान करता है।
KeyError
अपवादों को संभालना
किसी गैर-मौजूद कुंजी तक सीधे पहुँचने पर KeyError
अपवाद उत्पन्न होता है। जबकि कभी-कभी त्रुटियों को संकेत देने के लिए उपयोगी होता है, आम तौर पर get()
या in
कीवर्ड का उपयोग करके इसे सुचारू रूप से संभालना बेहतर होता है ताकि प्रोग्राम क्रैश से बचा जा सके।
try:
value = my_dict["grape"]
print(f"Grape: {value}")
except KeyError:
print("Grape कुंजी मौजूद नहीं है।")
प्रदर्शन विचार
सरल कुंजी अस्तित्व जांच के लिए, in
कीवर्ड सबसे तेज है। get()
में एक छोटा प्रदर्शन ओवरहेड है, जबकि कुंजियों के माध्यम से मैन्युअल रूप से पुनरावृति करना (keys()
का उपयोग करके) काफी कम कुशल है।
अच्छी प्रक्रियाएँ
यह निर्धारित करने के लिए कि क्या कोई कुंजी शब्दकोश में मौजूद है, इसकी स्पष्टता और दक्षता के लिए in
कीवर्ड को प्राथमिकता दें। get()
विधि का उपयोग करें जब आपको संबंधित मान प्राप्त करने या लापता कुंजियों को सुंदर ढंग से संभालने की भी आवश्यकता हो। स्पष्ट अपवाद हैंडलिंग या कुंजियों के माध्यम से पुनरावृति करने से बचें जब तक कि बिल्कुल आवश्यक न हो।