मुझे एक शब्दकोश में चाबियों के सेट को खोजने के लिए 2 शब्दकोशों की तुलना करने की आवश्यकता है जो दूसरे में नहीं था।2 शब्दकोशों के बीच "कुंजी" अंतर खोजने के लिए संक्षिप्त तरीका?
मैं जानता हूँ कि अजगर सेट कि वस्तुओं का समर्थन:
set3=set1-set2
लेकिन मैं ऐसा नहीं कर सकते:
dict3=dict1-dict2
या:
missingKeys=dict1.keys()-dict2.keys()
(मैं एक छोटे से हैरान था आखिरी बिंदु से, क्योंकि जावा में कुंजी एक सेट ऑब्जेक्ट हैं।) एक समाधान है:
missingKeys=set(dict1.keys())-set(dict2.keys())
क्या ऐसा करने के लिए एक बेहतर या अधिक संक्षिप्त तरीका है?
मुझे लगता है कि अंतिम पंक्ति पर्याप्त अपने आप को संक्षिप्त है, लेकिन ... मैं एक और अधिक दिलचस्प सवाल लगता है "एक्स से वाई में सभी जेड को कैसे हटाया जाए?" जहां एक्स और वाई सूचियां हैं। यह उपयोगी होगा जहां एक्स में डुप्लिकेट जेड मौजूद है जो वाई में दिखाई देता है, उदाहरण के लिए अकेला छोड़ा जाना चाहिए। –
@pst: ठीक है, यह सेट ऑब्जेक्ट्स बनाने के लिए थोड़ा अजीब लगता है, केवल अंतर() फ़ंक्शन का लाभ उठाने के लिए ... –
दूसरी ओर, क्योंकि यह * एक सेट है, यह एक बेहतर ओ का लाभ उठा सकता है ... समझ के उपयोग से सूची मतभेदों के लिए आसान है, लेकिन एक और अधिक शब्दशः। फिर भी वही प्रदर्शन अगर "जांच" सूची को 'सेट' में परिवर्तित कर दिया गया है, हालांकि। –