मैं दो बराबर लंबाई ट्यूपल्स की जोड़ी राशि कैसे प्राप्त कर सकता हूं? उदाहरण के लिए यदि मेरे पास (0, -1,7) और (3,4, -7) है तो मैं जवाब के रूप में (3,3,0) रखना चाहता हूं।मैं जोड़ों के बराबर दो बराबर लंबाई ट्यूपल्स कैसे कर सकता हूं
उत्तर
tuple(map(lambda (x, y): x + y, zip((0,-1,7), (3,4,-7))))
आप map
और lambda
से बचने के लिए पसंद करते हैं, तो आप कर सकते हैं:
tuple(x + y for x,y in zip((0,-1,7), (3,4,-7)))
संपादित: जैसा कि जवाब में से एक ने कहा, आप योग के बजाय का उपयोग कर सकते स्पष्ट रूप से बंटवारे tuples लौटे zip
द्वारा। इसलिए यदि आप उपरोक्त कोड नमूना के रूप में नीचे दिखाया गया है फिर से लिखने कर सकते हैं:
tuple(sum(t) for t in zip((0,-1,7), (3,4,-7)))
सूची समझ आमतौर पर बेहतर है। यह # 497885 में सभी कार्यात्मक उत्तरों की तुलना में कहीं अधिक सहज है। –
@Glenn: सहमत हुए। ऐसा कहा जाता है कि किसी भी तरह से मुझे नक्शा और फ़िल्टर के मामले में पहले सोचना आसान लगता है और फिर इसे मानचित्र (कोई पन इरादा नहीं है: पी) एक सूची समझ के लिए। –
मैं दूसरी तरफ हूं: सूची की समझ (इस मामले में, जेनरेटर एक्सप्रेशन, वास्तव में) मेरे लिए स्वाभाविक रूप से सहज हैं, लेकिन मुझे मानचित्र के बारे में सोचना है - शायद क्योंकि यह पाइथन में अक्सर बहुत कम उपयोग होता है। –
>>> t1 = (0,-1,7)
>>> t2 = (3,4,-7)
>>> tuple(i + j for i, j in zip(t1, t2))
(3, 3, 0)
वैकल्पिक रूप से (अच्छा आप बहुत बड़ा tuples है या आप उनके साथ अन्य गणितीय क्रियाओं करने के लिए योजना बना रहे हैं):
> import numpy as np
> t1 = (0, -1, 7)
> t2 = (3, 4, -7)
> at1 = np.array(t1)
> at2 = np.array(t2)
> tuple(at1 + at2)
(3, 3, 0)
विपक्ष: अधिक डेटा तैयार करने की जरूरत है। ज्यादातर मामलों में अधिक हो सकता है।
पेशेवर: संचालन बहुत स्पष्ट और अलग हैं। बड़े tuples के साथ शायद बहुत तेज़।
उपयोग योग():
>>> tuple(sum(pair) for pair in zip((0,-1,7), (3,4,-7)))
या
>>> tuple(map(sum, zip((0,-1,7), (3,4,-7))))
'tuple (नक्शा (ऑपरेटर.एड, (0, -1, 7), (3, 4, -7)))' –
- 1. बराबर लंबाई
- 2. मैं ग्रोवी में एक संदर्भ बराबर कैसे कर सकता हूं?
- 3. मैं कैसे व्यक्त कर सकता हूं कि दो मान एक-दूसरे के बराबर नहीं हैं?
- 4. ओएसएक्स के बराबर बराबर?
- 5. T-SQL बराबर दो नंबर
- 6. जांचना कि दो वस्तुओं के बराबर हैं,
- 7. मैं टी-एसक्यूएल में "शो टैबलेट" के बराबर कैसे कर सकता हूं?
- 8. मैं एन यादृच्छिक मान कैसे उत्पन्न कर सकता हूं जो पूर्व निर्धारित मान के बराबर है?
- 9. मैं कच्चे सरणी से std :: वेक्टर में memcpy के बराबर कैसे कर सकता हूं?
- 10. मैं ईजीआईटी में गिट रिबेस -आई हेड ~ 2 के बराबर कैसे कर सकता हूं?
- 11. बराबर
- 12. क्या दो प्रकार के बराबर हैं() विधि
- 13. स्ट्रिंग को बराबर लंबाई वाले सबस्ट्रिंग में कैसे विभाजित करें?
- 14. apache mod_rewrite node.js के बराबर बराबर है?
- 15. जांचें कि क्या दो वैक्टर बराबर हैं
- 16. मैं टेक्स्ट इनपुट फ़ील्ड की ऊंचाइयों को कैसे बराबर कर सकता हूं?
- 17. संदर्भ दो बराबर असेंबली, केवल सार्वजनिक कुंजी
- 18. जांचें कि क्या दो "चयन" बराबर हैं
- 19. क्या स्ट्रिंग लंबाई बाइट आकार के बराबर होती है?
- 20. ungetc के बराबर जावा
- 21. पुराने वीबी बाएं (स्ट्रिंग, लंबाई) समारोह के बराबर नेट?
- 22. मैक के लिए लाज़र में शेलेक्सक्यूट() के बराबर कैसे कर सकता हूं?
- 23. मैं दो तारों के बीच एक अंतर की गणना कैसे कर सकता हूं?
- 24. Powershell बराबर:
- 25. वापसी नहीं के बराबर
- 26. स्काला बराबर
- 27. ओएसएक्स ShellExecute के बराबर?
- 28. कमोबेश बराबर भार के
- 29. जावा के बराबर printf ("% *। * F")
- 30. PathCanonicalize बराबर
एक सवाल का एक डुप्लिकेट एक साल के लिए कहा और एक आधा पहले जो किसी भी अच्छा जवाब प्राप्त नहीं किया था ठीक लग रहा है। उसमें सभी उत्तर नक्शा-आधारित हैं, जो एक सूची समझ/पीढ़ी अभिव्यक्ति (नीचे) से बहुत कम साफ है। उसमें स्वीकार्य उत्तर बहुत खराब है - इस पर एक विधि करने के लिए कक्षा को ओवरराइड करना बिल्कुल समझ में नहीं आता है। –
मुझे लगता है कि उसमें स्वीकृत उत्तर का कारण यह है क्योंकि सवाल यह है कि यह सवाल अजीब व्यवहार है, इसलिए यह वास्तव में उत्तरदाता की गलती नहीं है। –