ভূমিকা
পাইথনে টাপল (tuple) হলো একটি অপরিবর্তনীয় ডেটা স্ট্রাকচার। অনেক সময় আমাদের টাপল자들의 একটি তালিকা (list of tuples) থাকে, যেটিকে প্রতিটি টাপলের শেষ উপাদানের ভিত্তিতে সাজাতে হয়। এই নিবন্ধে আমরা দেখব কিভাবে পাইথনের sorted() ফাংশন এবং কাস্টম কী (key) ফাংশন ব্যবহার করে এই কাজটি সহজে করা যায়।
উদাহরণ কোড
def sort_last_elem(num):
return num[-1]
def sort_structure(my_tuple):
return sorted(my_tuple, key=sort_last_elem)
my_list = [(45, 31), (23, 67), (92, 60), (90, 12)]
print("The list is :")
print(my_list)
print("The sorted list of elements is :")
print(sort_structure(my_list))
আউটপুট
The list is : [(45, 31), (23, 67), (92, 60), (90, 12)] The sorted list of elements is : [(90, 12), (45, 31), (92, 60), (23, 67)]
ব্যাখ্যা
sort_last_elem(num): এই ফাংশনটি একটি টাপল গ্রহণ করে এবং তার শেষ উপাদান (
num[-1]) রিটার্ন করে। এটিsorted()-রkeyপ্যারামিটারের জন্য ব্যবহৃত হবে।sort_structure(my_tuple): এই ফাংশনটি টাপল자들의 তালিকা গ্রহণ করে এবং
sorted()ফাংশন কল করে, যেখানেkey=sort_last_elemদিয়ে বলা হয়েছে যে সাজানোর সময় প্রতিটি টাপলের শেষ উপাদান বিবেচনা করা হবে।my_list: এখানে চারটি টাপলের একটি তালিকা সংজ্ঞায়িত করা হয়েছে।
প্রথমে মূল তালিকা প্রিন্ট করা হয়, তারপর সাজানো তালিকা প্রিন্ট করা হয়। আউটপুটে দেখা যায় টাপলগুলো তাদের শেষ উপাদান (১২, ৩১, ৬০, ৬৭) অনুযায়ী বর্ধমান ক্রমে সাজায়।
অতিরিক্ত টিপস
আপনি ল্যাম্বডা (lambda) ফাংশন ব্যবহার করে একই কাজ আরও সংক্ষিপ্তভাবে করতে পারেন:
sorted_list = sorted(my_list, key=lambda x: x[-1])
এটি একই ফলাফল দেবে এবং কোড ছোট রাখবে।