सूची मानों के साथ शब्दकोशों को उलटना: एक समाधान
इस लेख में, हम सूची मूल्यों के साथ एक शब्दकोश को उलटने की चुनौती का पता लगाते हैं। एक इंडेक्स डिक्शनरी को देखते हुए जहां कुंजी फ़ाइल नाम हैं और मान उन फ़ाइलों में दिखाई देने वाले शब्दों की सूची हैं, हमारा लक्ष्य एक उलटा शब्दकोश बनाना है जहां शब्द कुंजी हैं और मान फ़ाइल नामों की सूची हैं।
प्रदान किया गया व्युत्क्रम फ़ंक्शन, invert_dict, कुंजी के रूप में सूची मान वाले शब्दकोशों पर लागू नहीं है, क्योंकि यह "टाइप एरर: अनहैशेबल टाइप: 'लिस्ट'" के साथ विफल हो जाता है। यह सीमा इस तथ्य से उत्पन्न होती है कि शब्दकोशों में कुंजियाँ धोने योग्य होनी चाहिए, और सूचियाँ धोने योग्य नहीं हैं।
इस बाधा को दूर करने के लिए, हम एक कस्टम दृष्टिकोण का उपयोग कर सकते हैं जो मूल शब्दकोश के माध्यम से पुनरावृत्त होता है और सेटडिफॉल्ट का उपयोग करके एक नया शब्दकोश बनाता है . विशेष रूप से, हम मूल शब्दकोश में प्रत्येक कुंजी के मूल्य सूचियों के माध्यम से पुनरावृत्ति करते हैं और नए उल्टे शब्दकोश में उन शब्दों के लिए मूल्यों के रूप में संबंधित कुंजी जोड़ते हैं।
यहां इस दृष्टिकोण का एक उदाहरण कार्यान्वयन है:
inverse = {}
for k,v in index.items():
for x in v:
inverse.setdefault(x, []).append(k)
यह समाधान एक नई सूची बनाने के लिए सेटडिफॉल्ट विधि का उपयोग करके मूल शब्दकोश में सूची मानों को संभालता है यदि कुंजी उल्टे शब्दकोश में मौजूद नहीं है, या यदि कुंजी पहले से मौजूद है तो मौजूदा सूची में जोड़ें।
परिणामस्वरूप, हमें एक उलटा शब्दकोश प्राप्त होता है जहां शब्द कुंजी हैं और मान फ़ाइल नामों की सूचियां हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3