में मूल्य की लंबाई से एक सूची क्रमबद्ध करें मुझे tuples की सूची को सॉर्ट करने में कठिनाई हो रही है। मैं सूची में एक स्ट्रिंग की लंबाई से सॉर्ट करना चाहता हूं।पायथन टुपल
उदाहरण के लिए:
l = [(99,'bbc', 121),(33,'abcd', 231),(44,'zb', 148), (23,'abcde',221)]
अगर मैं प्रकार तत्व 1 द्वारा:
l.sort(key=itemgetter(1), reverse=True)
इस तार की वर्णमाला रैंकिंग नहीं लंबाई पर सॉर्ट होगा। मैं पहले सबसे लंबी स्ट्रिंग के साथ, जगह और रिवर्स सॉर्ट सॉर्ट करना पसंद करूंगा।
मैं एक लैम्ब्डा और सीएमपी उपयोग कर सकते हैं,
l.sort(lambda x,y: cmp(len(x[1]), len(y[1])), reverse=True)
लेकिन वहाँ एक और अधिक सुंदर, या pythonic तरीका है का उपयोग करके कुंजी और/itemgetter या?
हां यह अच्छा है। और 'सूची' का उपयोग करने पर लिया गया बिंदु, प्रतिबिंबित करने के लिए संपादित करेगा। – drexiya