क्या नीचे दिए गए एक लाइन तरीका है?पायथन डेल यदि एक पंक्ति में शब्दकोश में
myDict = {}
if 'key' in myDic:
del myDic['key']
धन्यवाद
क्या नीचे दिए गए एक लाइन तरीका है?पायथन डेल यदि एक पंक्ति में शब्दकोश में
myDict = {}
if 'key' in myDic:
del myDic['key']
धन्यवाद
आप
myDict.pop(key, None)
धन्यवाद, ठीक वही है जो मैं चाहता था – scruffyDog
इसे केवल तब ही हटा देना चाहिए जब 'कुंजी' मेरे डिक में है (जो मेरे डिक्ट से अलग है) –
@ मिशेलकिजर्स: क्या आपको सच में लगता है कि यह टाइपो नहीं है? –
लिख सकते हैं तो आप इस एक एक लाइनर मानते हैं:
>>> d={1:2}
>>> if 1 in d: del d[1]
...
>>> d
{}
नंबर की मदद नहीं हुई। –
कोई चिंता नहीं, पॉप (कुंजी, कोई नहीं) विकल्प के साथ जाएं। –
मैं इसे एक पंक्ति नहीं कहता क्योंकि यह दो पंक्तियां हैं, बस एक पीईपी 8] (http://www.python.org/dev/peps/pep-0008/) द्वारा अनुमत रूप में एक रूप में स्क्रंच किया गया है। दो अन्य कारणों से मैं इसे कभी नहीं करूँगा (ए) यह छोटा और सुंदर नहीं है; (बी) इसे शब्दकोश के नाम और कुंजी को एक बार के बजाय दो बार उल्लेख करने की आवश्यकता है। वही तर्क 'डी [के] के साथ लागू होते हैं यदि डी में अन्यथा बनाम 'd.get (k, v)'। –
pop
विधि इसके अलावा एक हमेशा explictly __delitem__
विधि कॉल कर सकते हैं - जो del
जैसा ही है, लेकिन एक किया जाता है एक बयान के बजाय अभिव्यक्ति की अभिव्यक्ति। चूंकि यह एक अभिव्यक्ति है, यह इनलाइन "अगर" के साथ जोड़ा जा सकता है (सी त्रिगुट ऑपरेटर की पायथन के संस्करण):
d = {1:2}
d.__delitem__(1) if 1 in d else None
पहली बात इस तरह के सवालों के साथ क्या करना: 'dict' डॉक्स पूरी तरह से पढ़ें। –
@ user683111: अगर यह आपके लिए काम करता है तो आपको जवाब स्वीकार करना चाहिए :) – avasal
संभावित डुप्लिकेट [शब्दकोश से कुंजी कैसे निकालें?] (Http://stackoverflow.com/questions/11277432/how-to-remove- ए-की-से-डिक्शनरी) – strongMA