"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन सूची से डुप्लिकेट शब्दकोशों को कुशलतापूर्वक कैसे हटाएं?

पायथन सूची से डुप्लिकेट शब्दकोशों को कुशलतापूर्वक कैसे हटाएं?

2024-11-07 को प्रकाशित
ब्राउज़ करें:877

How to Efficiently Remove Duplicate Dictionaries from a Python List?

पायथन सूचियों में अद्वितीय शब्दकोश

शब्दकोशों की सूचियां पायथन अनुप्रयोगों में आम हैं। हालाँकि, डुप्लिकेट शब्दकोशों को प्रबंधित करना चुनौतीपूर्ण हो सकता है। यह आलेख चर्चा करता है कि डुप्लिकेट को कुशलतापूर्वक कैसे हटाया जाए और अद्वितीय शब्दकोशों की सूची कैसे प्राप्त की जाए।

शब्दकोशों की सूची पर विचार करें:

L = [
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30}
]

समस्या पर विचार करना

शब्दकोशों की सूची को कम करने के लिए, एक सीधे दृष्टिकोण में सूची पर पुनरावृत्ति करना और प्रत्येक शब्दकोश की दूसरों से तुलना करना शामिल है। हालाँकि, यह प्रक्रिया बड़ी सूचियों के लिए कम्प्यूटेशनल रूप से महंगी हो सकती है।

एक अस्थायी शब्दकोश का उपयोग करना

एक अधिक कुशल समाधान डिडुप्लीकेशन को संभालने के लिए एक अस्थायी शब्दकोश का लाभ उठाता है। शब्दकोश की कुंजी प्रत्येक शब्दकोश के आईडी फ़ील्ड पर सेट है, और मान शब्दकोश पर ही सेट है। यह ऑपरेशन प्रभावी रूप से डुप्लिकेट को फ़िल्टर करता है क्योंकि प्रत्येक अद्वितीय आईडी केवल एक शब्दकोश प्रविष्टि के अनुरूप होगी। अद्वितीय शब्दकोशों का प्रतिनिधित्व करें) को values() विधि का उपयोग करके पुनर्प्राप्त किया जा सकता है।

{v['id']:v for v in L}.values()

Python 3:

list({v:v for v in L}.values())

Python 2.5/2.6:

{v['id']:v for v in L}.values()
इन संक्षिप्त समाधानों के परिणामस्वरूप अद्वितीय शब्दकोशों की एक सूची बनती है:

[ {'आईडी': 1, 'नाम': 'जॉन', 'उम्र': 34}, {'आईडी': 2, 'नाम': 'हन्ना', 'उम्र': 30} ]

यह दृष्टिकोण अद्वितीय शब्दकोश मूल्यों को पहचानने और निकालने के लिए एक अस्थायी शब्दकोश का लाभ उठाकर कुशलतापूर्वक डुप्लिकेट को हटा देता है।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3