जब रेंज के आधार पर लिस्ट को सॉर्ट करने की आवश्यकता होती है, तो एक फंक्शन का उपयोग करके 'abs' मेथड, 'sum' मेथड और लिस्ट कॉम्प्रिहेंशन का उपयोग किया जाता है।
उदाहरण
def sum_range_incl(my_row):
return sum([abs(element[1] - element[0]) for element in my_row if element[0] > i and element[0] < j and element[1] > i and element[1] < j])
my_list = [[(12, 4), (55, 10), (11, 16)], [(42, 14)], [(2, 5), (2, 28), (9, 16)], [(12, 6), (6, 13)]]
print("The list is :")
print(my_list)
i, j = 2, 15
my_list.sort(key=sum_range_incl)
print("The resultant list is :")
print(my_list)
आउटपुट
The list is : [[(12, 4), (55, 10), (11, 16)], [(42, 14)], [(2, 5), (2, 28), (9, 16)], [(12, 6), (6, 13)]] The resultant list is : [[(42, 14)], [(2, 5), (2, 28), (9, 16)], [(12, 4), (55, 10), (11, 16)], [(12, 6), (6, 13)]]
व्याख्या
'sum_range_incl' नामक एक मेथड परिभाषित की जाती है जो टपल की एक लिस्ट को पैरामीटर के रूप में लेती है।
लिस्ट कॉम्प्रिहेंशन का उपयोग करके लिस्ट पर पुनरावृति की जाती है।
लिस्ट में सभी एलिमेंट्स के लिए पहले और शूनवें एलिमेंट के बीच निरपेक्ष अंतर निर्धारित किया जाता है, और शूनवें एलिमेंट की विशिष्ट पूर्णांकों से तुलना की जाती है।
इस मान का योग फंक्शन के आउटपुट के रूप में लौटाया जाता है।
टपल की लिस्ट की एक लिस्ट परिभाषित की जाती है और कंसोल पर प्रदर्शित की जाती है।
दो पूर्णांकों 'i' और 'j' के मान परिभाषित किए जाते हैं।
पहले से परिभाषित मेथड को पैरामीटर के रूप में पास करके sort मेथड का उपयोग करके लिस्ट को सॉर्ट किया जाता है।
आउटपुट कंसोल पर प्रदर्शित होता है।