এক্সটার্নাল লিস্টের অর্ডার অনুযায়ী টাপল লিস্টকে সর্ট করতে ডিকশনারি এবং লিস্ট কম্প্রিহেনশন ব্যবহার করা হয়।
উদাহরণ
my_list = [('Mark', 34), ('Will', 91), ('Rob', 23)]
print("টাপল লিস্ট:", my_list)
order = ['Will', 'Mark', 'Rob']
print("অর্ডার লিস্ট:", order)
temp_dict = dict(my_list)
result = [(key, temp_dict[key]) for key in order]
print("অর্ডার করা টাপল লিস্ট:", result)
আউটপুট
টাপল লিস্ট: [('Mark', 34), ('Will', 91), ('Rob', 23)]
অর্ডার লিস্ট: ['Will', 'Mark', 'Rob']
অর্ডার করা টাপল লিস্ট: [('Will', 91), ('Mark', 34), ('Rob', 23)]
ব্যাখ্যা
টাপল লিস্টকে ডিকশনারিতে রূপান্তর করা হয় (O(1) লুকআপের জন্য)।
অর্ডার লিস্ট ইটারেট করে প্রতিটি কির ভ্যালু ডিকশনারি থেকে বের করা হয়।
লিস্ট কম্প্রিহেনশন দিয়ে নতুন অর্ডারকৃত টাপল লিস্ট তৈরি হয়।
এই পদ্ধতিতে টাইম কমপ্লেক্সিটি O(n) ഹয়।