में बदलना मेरे पास एक बहुत बड़ा शब्दकोश है, शायद 10,000 keys/values
और मैं सभी मानों को 0
पर बदलना चाहता हूं। मुझे पता है कि मैं सभी मानों को 0
पर लूप कर सकता हूं और यह हमेशा के लिए ले सकता है। क्या वैसे भी है कि मैं एक साथ सेट सभी मान 0
पर कर सकता हूं?साथ ही एक शब्दकोश के सभी मानों को शून्य पायथन
विधि लूपिंग, बहुत धीमी गति से:
#example dictionary
a = {'a': 1, 'c': 1, 'b': 1, 'e': 1, 'd': 1, 'g': 1, 'f': 1, 'i': 1, 'h': 1, 'k': 1,
'j': 1, 'm': 1, 'l': 1, 'o': 1, 'n': 1, 'q': 1, 'p': 1, 's': 1, 'r': 1, 'u': 1,
't': 1, 'w': 1, 'v': 1, 'y': 1, 'x': 1, 'z': 1}
for key.value in a.items():
a[key] = 0
आउटपुट:
{'a': 0, 'c': 0, 'b': 0, 'e': 0, 'd': 0, 'g': 0, 'f': 0, 'i': 0, 'h': 0, 'k': 0,
'j': 0, 'm': 0, 'l': 0, 'o': 0, 'n': 0, 'q': 0, 'p': 0, 's': 0, 'r': 0, 'u': 0,
't': 0, 'w': 0, 'v': 0, 'y': 0, 'x': 0, 'z': 0}
आप अपने कोड प्रोफाइल और इस पाया सीमित कारक होना जरूरी ? 10k वस्तुओं वाला एक शब्दकोश बहुत बड़ा नहीं है। –
इसका इतना आकार नहीं है कि यह कितनी बार है कि मैं शब्दकोशों के माध्यम से लूपिंग करने जा रहा हूं। मैंने इसे लगभग हर सेकेंड के माध्यम से लूप करने के लिए प्रोग्राम किया है और इसके अतिरिक्त, मेरे पास एक से अधिक शब्दकोश नहीं हैं। – enginefree
यदि आप सभी मान निरंतर मेमोरी ब्लॉक में होंगे तो आप सभी मानों को 0 पर सेट कर सकते हैं। मुझे नहीं लगता कि आप इसे बिल्टिन dict के साथ कर सकते हैं ... जब तक कि आप सी –