algorithm - Python: For each list element apply a function across the list -


दिए गए [1,2,3,4,5] , मैं ऐसा कैसे कर सकता हूँ

  1/1, 1/2, 1 / 3,1 / 4,1 / 5, ...., 3 / 1,3 / 2,3 / 3,3 / 4 , 3/5, .... 5 / 1,5 / 2,5 / 3,5 / 4,5 / 5  

मैं सभी परिणाम संग्रहीत करना चाहता हूं न्यूनतम, और न्यूनतम संख्या को खोजने के लिए उपयोग किए गए दो नंबर लौटें इसलिए जिस मामले में मैंने ऊपर वर्णित किया है, मैं (1,5)

वापस जाना चाहूंगा। तो मूल रूप से मैं ऐसा कुछ करना चाहूंगा

सूची में प्रत्येक तत्व i के लिए सूची में सभी तत्वों में कुछ फ़ंक्शन को देखकर, i और j को ले जाने के रूप में पैरामीटर एक मास्टर सूची, मास्टर सूची में न्यूनतम मूल्य प्राप्त करें, और इस न्यूनतम मूल्य की गणना के लिए उपयोग किए गए तर्क i , j वापस लौटें।

मेरी वास्तविक समस्या में मेरे पास एक सूची ऑब्जेक्ट / निर्देशांक है, और जिस फ़ंक्शन का उपयोग कर रहा हूं वह दो निर्देशांक लेता है और यूक्लिडियन दूरी की गणना करता है मैं किसी भी दो बिंदुओं के बीच न्यूनतम ईक्लिडियन दूरी खोजने की कोशिश कर रहा हूं लेकिन मुझे फ़ैंसी एल्गोरिथम की आवश्यकता नहीं है।

< P> आप ऐसा कर सकते हैं और (पायथन 3.0 कोड):

  & gt; & gt; & gt; Nums = [1,2,3,4,5]> gt; & gt; & gt; [(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 1) के लिए एक्स के लिए एक्स (x, y) के लिए x के लिए) ), (2, 2), (2, 3), (2, 4), (2, 5), (3, 1), (3, 2), (3, 3), (3, 4) (5, 2), (5, 5), (4, 1), (4, 2), (4, 3), (4, 4), (4, 5), (5, 2), (5 , 3), (5, 4), (5, 5)]> gt; & gt; & gt; न्यूनतम (_, कुंजी = लैम्ब्डा जोड़ी: जोड़ी [0] / जोड़ी [1]) (1, 5)  

ध्यान दें कि इसे पायथन 2.5 पर चलाने के लिए आपको या तो बनाने की आवश्यकता होगी एक फ्लोट के तर्कों में से एक है, या __future__ आयात डिवीजन से ताकि 1/5 सही 0 के बजाय 0.2 के बराबर हो।


Comments