यह कोशिश करो, सिर्फ एक लाइन में:
[sorted(i)[1] for i in zip(*A)]
कार्रवाई में:
In [12]: A = [[72, 76, 44, 62, 81, 31],
...: [54 ,36 ,82 ,71 ,40, 45],
...: [63 ,59, 84, 36, 34 ,51],
...: [58, 53, 59, 22, 77 ,64],
...: [35 ,77, 60, 76, 57, 44]]
In [18]: [sorted(i)[1] for i in zip(*A)]
Out[18]: [54, 53, 59, 36, 40, 44]
zip(*A)
आपकी सूची की सूची को स्थानांतरित करेगा ताकि कॉलम पंक्तियाँ बनें।
और यदि आपके पास डुप्लिकेट मान है, उदाहरण के लिए:
In [19]: A = [[72, 76, 44, 62, 81, 31],
...: [54 ,36 ,82 ,71 ,40, 45],
...: [63 ,59, 84, 36, 34 ,51],
...: [35, 53, 59, 22, 77 ,64], # 35
...: [35 ,77, 50, 76, 57, 44],] # 35
यदि आपको दोनों 35
एस को छोड़ने की आवश्यकता है , तो आप उपयोग कर सकते हैं set()
:
In [29]: [sorted(list(set(i)))[1] for i in zip(*A)]
Out[29]: [54, 53, 50, 36, 40, 44]