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

पायथन में \"RuntimeError: शब्दकोश का आकार पुनरावृत्ति के दौरान बदल गया\" से कैसे बचें?

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

How to Avoid the \

"RuntimeError: पुनरावृत्ति के दौरान शब्दकोश का आकार बदल गया" से बचना त्रुटि

किसी शब्दकोश पर पुनरावृत्ति करते समय उसे संशोधित करने का प्रयास करना, जैसा कि इसमें देखा गया है नीचे दिया गया कोड स्निपेट, "रनटाइम एरर: पुनरावृत्ति के दौरान शब्दकोश का आकार बदल गया" को ट्रिगर कर सकता है त्रुटि:

d = {'a': [1], 'b': [1, 2], 'c': [], 'd':[]}

for i in d:
    if not d[i]:
        d.pop(i)

इस सीमा को पार करने के लिए, विभिन्न तरीकों को नियोजित किया जा सकता है:

पायथन 2.x और 3.x:

'सूची' का उपयोग करके कुंजियों की एक प्रति को बाध्य करें:

for i in list(d):

पायथन 3.x (और बाद में):

'collections.OrderedDict' का उपयोग करें:

from collections import OrderedDict

for i in OrderedDict(d):

वैकल्पिक समाधान:

  1. वांछित संशोधनों के साथ एक नया शब्दकोश बनाएं:
new_d = {}
for key, value in d.items():
    if value:
        new_d[key] = value
  1. Python 3.3's 'popitem' विधि का उपयोग करें और एक प्रतिलिपि पर पुनरावृति करें:
keys_to_pop = list(d)
for i in keys_to_pop:
    if not d[i]:
        d.popitem(i)

इन तकनीकों का लाभ उठाकर, आप पायथन में शब्दकोशों को संभालते समय "RuntimeError: शब्दकोश ने पुनरावृत्ति के दौरान आकार बदल दिया" त्रुटि को दूर कर सकते हैं।

नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3