सबसे पहले, मैं पाइथन के लिए नया हूं, इसलिए अगर मैंने कुछ अनदेखा किया है, तो मैं क्षमा चाहता हूं, लेकिन सूचियों का एक शब्दकोश बनाने के लिए मैं dict.fromkeys
(या कुछ समान) का उपयोग करना चाहता हूं, जिनकी चाबियाँ किसी अन्य सूची में प्रदान की जाती हैं। मैं कुछ समय परीक्षण प्रदर्शन कर रहा हूँ और मैं चाहता कुंजी इनपुट चर और सूची रनों के लिए बार शामिल करने के लिए होने के लिए:dict.fromkeys का उपयोग करके मैं प्रत्येक कुंजी के लिए एक अद्वितीय मान कैसे बना सकता हूं?
def benchmark(input):
...
return time_taken
runs = 10
inputs = (1, 2, 3, 5, 8, 13, 21, 34, 55)
results = dict.fromkeys(inputs, [])
for run in range(0, runs):
for i in inputs:
results[i].append(benchmark(i))
समस्या मैं आ रही है कि में सभी चाबियाँ शब्दकोश एक ही सूची साझा करने के लिए प्रतीत होता है, और प्रत्येक रन बस इसे जोड़ता है। fromkeys
का उपयोग कर प्रत्येक कुंजी के लिए एक अद्वितीय खाली सूची उत्पन्न करने का कोई तरीका है? यदि नहीं, तो परिणामी शब्दकोश को हाथ से उत्पन्न किए बिना ऐसा करने का कोई और तरीका है?
बहुत बढ़िया, यह अच्छी तरह से काम करता है! धन्यवाद! (हालांकि मैं चाहता हूं कि मुझे उपयोग करने से पहले रिक्त सूचियां उत्पन्न करना संभव हो) –
यह संभव नहीं है। एक बार जब आप [] या सूची() को कॉल करते हैं तो ऑब्जेक्ट बनाया जाता है और परिवर्तनीय बाध्य होता है। उदाहरण के लिए देखें x = [[]] * 10; एक्स [0] .append ('परीक्षण'); प्रिंट x – vartec
ठीक है, वहां आपके पास तत्काल सभी सूची के साथ विकल्प है। – vartec