যখন রেঞ্জের ভিত্তিতে লিস্ট সর্ট করার প্রয়োজন হয়, তখন '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' মেথড ব্যবহার করে লিস্টটি সর্ট করা হয়েছে।
আউটপুট কনসোলে প্রদর্শিত হয়েছে।