যখন কেস ডিফারেন্স অনুযায়ী স্ট্রিং সর্ট করা প্রয়োজন হয়, একটি মেথড ডিফাইন করা হয় যা একটি স্ট্রিং প্যারামিটার হিসেবে নেয়। এই মেথড লিস্ট কম্প্রিহেনশন এবং isupper ও islower মেথড ব্যবহার করে কেস ডিফারেন্স বের করে। তাদের পার্থক্যই সর্টেড ভ্যালু দেয়।
উদাহরণ
নিচে এর প্রদর্শন করা হলো:
def get_diff(my_string):
lower_count = len([ele for ele in my_string if ele.islower()])
upper_count = len([ele for ele in my_string if ele.isupper()])
return abs(lower_count - upper_count)
my_list = ["Abc", "Python", "best", "hello", "coders"]
print("The list is :")
print(my_list)
my_list.sort(key=get_diff)
print("Sorted Strings by case difference :")
print(my_list)
আউটপুট
The list is : ['Abc', 'Python', 'best', 'hello', 'coders'] Sorted Strings by case difference : ['Abc', 'Python', 'best', 'coders', 'hello']
ব্যাখ্যা
'get_diff' নামক একটি মেথড ডিফাইন করা হয়েছে যা স্ট্রিংয়ের একটি লিস্ট প্যারামিটার হিসেবে নেয়।
লিস্ট কম্প্রিহেনশন এবং 'islower' ও 'isupper' মেথড ব্যবহার করে চেক করা হয় স্ট্রিংগুলো আপারকেস নাকি লোয়ারকেস।
এই ভ্যালু দুটি ভিন্ন ভেরিয়েবলে স্টোর করা হয়।
এই দুটি ভেরিয়েবলের অ্যাবসোলিউট ডিফারেন্স রিটার্ন করা হয় আউটপুট হিসেবে।
মেথডের বাইরে একটি লিস্ট ডিফাইন করা হয় এবং কনসোলে প্রদর্শন করা হয়।
লিস্টটি পূর্বে ডিফাইন করা মেথড অনুযায়ী সর্ট করা হয়।
এই আউটপুট কনসোলে প্রদর্শিত হয়।