2017-08-11 9 views
5

मेरे पास दो संख्याओं वाली सूचियों की एक सूची है।सूचियों की सूची क्रमबद्ध करने के लिए अंकगणित करने के लिए कैसे करें

[[2, 3], [7, 8], [3, 5]] 

मैं विभाजित के आधार पर उन्हें क्रमबद्ध करना चाहते हैं प्रत्येक:

जैसे 2/3 (0.666), 7/8 (0,875) 3/5 (0,6) उत्पादन के लिए:

[[3, 5], [2, 3], [7, 8]] 

मुझे लगता है कि मैं किसी भी तरह लैम्ब्डा का उपयोग कर रहा हूं, लेकिन मुझे नहीं पता कि इसे सही तरीके से कैसे लिखना है। इस तरह कुछ, लेकिन यह सिर्फ मूल्यों से संबंधित है:

list_of_lists.sort(key=lambda x: (x[0],x[1])) 

मैं अंकगणित कैसे कर सकता हूं?

उत्तर

10
lists = [[2, 3], [7, 8], [3, 5]] 
lists.sort(key=lambda x: (x[0]/x[1])) 
print(lists) 
+1

पाइथन 2.x उपयोगकर्ताओं के लिए सिडेनोटे: यहां आपको ऑपरेटरों में से एक को एक फ़्लोटिंग पॉइंट में परिवर्तित करना होगा। उदाहरण: 'फ्लोट (एक्स [0])/एक्स [1]' – cbo

+0

'python 2.x' उपयोगकर्ताओं के लिए Sidenote जोड़ने के लिए धन्यवाद @ cbo। –

+0

मेरा मानना ​​है कि सीबीओ यह कह रहा था कि आप उस नोट को प्रतिबिंबित करने के लिए अपना उत्तर संपादित करना चाहेंगे। आखिरकार, टिप्पणियां हमेशा के लिए हमेशा के लिए नहीं होगी। –

-1

यह आपके लिए उपयोगी हो सकता है।

a=[[2, 3], [7, 8], [3, 5]] 
print (sorted([a[i][0]/a[i][1] for i in range(len(a))])) 
+0

वोट क्यों नीचे ?? –

संबंधित मुद्दे