मेरे पास तीन सूचियां हैं, पहला नामों की एक सूची है, दूसरा शब्दकोशों की एक सूची है, और तीसरा डेटा की एक सूची है। सूची में प्रत्येक स्थिति अन्य सूचियों में समान पदों से मेल खाती है। सूची_1 [0] में सूची_2 [0] और सूची_3 [0], आदि में संबंधित डेटा है। मैं इन तीन सूचियों को एक शब्दकोश के अंदर एक शब्दकोश में बदलना चाहता हूं, जिसमें सूची_1 में प्राथमिक कुंजी होने के मान हैं। सब कुछ क्रम में रखते हुए मैं यह कैसे करूँ?शब्दकोशों को जोड़ना
6
A
उत्तर
13
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [7,8,9]
>>> dict(zip(a, zip(b, c)))
{1: (4, 7), 2: (5, 8), 3: (6, 9)}
zip
बारे में अधिक जानकारी के लिए documentation देखें।
शेरबेस्ट नीचे बताए गए अनुसार, यदि आपका इनपुट डेटा बड़ा है तो आप itertools.izip()
पर देखना चाहेंगे। izip
अनिवार्य रूप से zip
जैसा ही है, लेकिन यह सूचियों के बजाय इटरेटर बनाता है। इस तरह, आप शब्दकोश बनाने से पहले बड़ी अस्थायी सूचियां नहीं बनाते हैं।
1
अजगर 3:
combined = {name:dict(data1=List_2[i], data2=List_3[i]) for i, name in enumerate(List_1)}
अजगर 2.5:
combined = {}
for i, name in enumerate(List_1):
combined[name] = dict(data1=List_2[i], data2=List_3[i])
0
अगर इन बातों का क्रम महत्वपूर्ण है, तो आप एक शब्दकोश का उपयोग नहीं करना चाहिए। परिभाषा के अनुसार, वे unordered हैं। आप many ordered_dictionary implementations में से एक का उपयोग कर फ़्लोटिंग के आसपास उपयोग कर सकते हैं, या अजगर 2.7 या 3.1 के लिए प्रतीक्षा कर सकते हैं जिसमें संग्रह मॉड्यूल में एक आदेशित शब्दकोश कार्यान्वयन शामिल होगा।
संबंधित मुद्दे
- 1. शब्दकोशों
- 2. शब्दकोशों एक दूसरे को काटना
- 3. जेसन.NET: नेस्टेड शब्दकोशों को Deserializing
- 4. पायथन | गतिशील और विस्तार शब्दकोशों
- 5. पायथन में "जोड़ना" शब्दकोश?
- 6. शब्दकोशों वाले सरणी को कैसे क्रमबद्ध करें?
- 7. शब्दकोशों ValueOrNull/ValueorDefault
- 8. शब्दकोशों का प्रचार
- 9. वीबीए शब्दकोशों पर इटरेट?
- 10. शब्दकोशों विशिष्ट कुंजी
- 11. मानचित्र दो शब्दकोशों
- 12. शब्दकोशों का पाइथन शब्दकोश
- 13. शब्दकोशों में एक कुंजी के मूल्य से शब्दकोशों के एनएसएआरएआर को छंटाई
- 14. शब्दकोशों की सूचियों की तुलना
- 15. कैसे जैसे कि निम्न शब्दकोशों
- 16. शब्दकोशों की सूची में इटरेटिंग
- 17. शब्दकोशों की पायथन सूची मूल्य
- 18. शब्दकोशों का एक शब्दकोश पूछें?
- 19. दो संख्याओं को जोड़ना
- 20. तारों को जोड़ना?
- 21. नेस्टेड कुंजीपटल द्वारा घोंसला वाले शब्दकोशों को मर्ज करें?
- 22. नेस्टेड शब्दकोशों से फ़ील्ड को हटाने का सुरुचिपूर्ण तरीका
- 23. शब्दकोशों की एक सूची को कई श्रेणियों में विभाजित करना
- 24. शब्दकोशों की सूची से सभी कुंजियों को निकालें
- 25. लिंक: दो अलग-अलग प्रकार के शब्दकोशों को छोड़कर
- 26. शब्दकोशों के बीच वस्तु को कैसे स्थानांतरित करें?
- 27. मैं Jinja2 शब्दकोशों को कैसे संशोधित/विलय कर सकता हूं?
- 28. शब्दकोशों की सूची में प्रमुख नामों को रीमेप करना
- 29. मैं .NET में शब्दकोशों की सूची कैसे बना सकता हूं?
- 30. सिल्वरलाइट: छवियों को पारदर्शिता जोड़ना
यदि ए, बी, सी बहुत बड़ा होगा, तो मैं itertools मॉड्यूल से izip की अनुशंसा करता हूं। – Arpegius
@lionbest: अच्छा बिंदु, मैंने इसे जोड़ा है। – balpha