मैं १० संख्याओं के भाजक गिनने और उन्हें उनके शब्दकोश में मूल्य के रूप में जोड़ने की कोशिश कर रहा था, लेकिन जब मैं अन्य भाजक को मूल्यों की सूची में जोड़ने की कोशिश कर रहा था तो ऐसा नहीं हुआ और इसे बदल दिया गया। मुझे आश्चर्य है कि ऐसा क्यों होता है।
a = []
t = dict()
for i in range(10):
a.append(input())
a = [int(i) for i in a]
for num in a:
for x in range (1, num + 1):
if (num % x) == 0:
t[num] = []
t[num].append(x)
print(t)
2 जवाब
ऐसा इसलिए है क्योंकि आप t[num]
को फिर से शुरू करते हैं, जब आपको यह नहीं करना चाहिए:
a = []
t = dict()
for i in range(10):
a.append(input())
a = [int(i) for i in a]
for num in a:
for x in range (1, num + 1):
if (num % x) == 0:
if num not in t: # Here: init t[num] to [] only if it does not yet exist
t[num] = []
t[num].append(x)
print(t)
defaultdict यहां आपके जीवन को आसान बना सकता है क्योंकि यह ध्यान रखेगा यदि सूची आवंटन।
from collections import defaultdict
a = []
t = defaultdict(list)
for i in range(10):
a.append(input())
a = [int(i) for i in a]
for num in a:
for x in range (1, num + 1):
if (num % x) == 0:
t[num].append(x)
print(t)
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।