কম্পিউটার টিউটোরিয়াল

পাইথনে ডিকশনারি সর্ট করার পদ্ধতি


ডিকশনারি হলো একটি ডেটা স্ট্রাকচার যেটি কী এবং ভ্যালু পেয়ার (key and value pairs) দিয়ে গঠিত। আমরা দুটি ক্রাইটেরিয়া দিয়ে ডিকশনারি সর্ট করতে পারি:

কী অনুযায়ী সর্ট (Sort by key) − ডিকশনারি তার কীগুলোর আরোহী ক্রমে (ascending order) সর্ট হয়। ভ্যালুগুলো বিবেচনা করা হয় না।

ভ্যালু অনুযায়ী সর্ট (Sort by value) − ডিকশনারি তার ভ্যালুগুলোর আরোহী ক্রমে সর্ট হয়।

পদ্ধতি ১ - ডিকশনারি কী অনুযায়ী সর্ট করা

এই পদ্ধতিতে, ডিকশনারি তার কীগুলোর আরোহী ক্রমে সর্ট হয়।

ইনপুট:

{2:90, 1: 100, 8: 3, 5: 67, 3: 5}

আউটপুট:

{1:100, 2:90, 3:5, 5:67, 8:3}

উপরে দেখা যাচ্ছে ডিকশনারি তার কী অনুযায়ী সর্ট হয়েছে।

উদাহরণ

dic = {2:90, 1: 100, 8: 3, 5: 67, 3: 5}
dic2 = {}
for i in sorted(dic):
    dic2[i] = dic[i]
print(dic2)

আউটপুট

{1: 100, 2: 90, 3: 5, 5: 67, 8: 3}

কোড লাইন বাই লাইন ব্যাখ্যা

  • সর্ট করার ডিকশনারি ডিক্লেয়ার করা হয়েছে

  • একটি খালি ডিকশনারি ডিক্লেয়ার করা হয়েছে যেখানে সর্ট করা কী-ভ্যালু পেয়ার যোগ করা হবে

  • sorted(dic)-এ dic-এর সব কী সর্টেড অর্ডারে থাকে। এতে শুধু কী থাকে, কী-ভ্যালু পেয়ার নয়। sorted(dic) হবে [1,2,3,5,8]

  • সর্টেড অর্ডারের প্রতিটি কীর জন্য, কী এবং সংশ্লিষ্ট ভ্যালু dic2-তে যোগ করা হয়েছে।

  • dic2-তে সব কী-ভ্যালু পেয়ার কীগুলোর সর্টেড অর্ডারে আছে

পদ্ধতি ২ - ডিকশনারি ভ্যালু অনুযায়ী সর্ট করা

এই পদ্ধতিতে, ডিকশনারি তার ভ্যালুগুলোর আরোহী ক্রমে সর্ট হয়।

ইনপুট:

{2:90, 1: 100, 8: 3, 5: 67, 3: 5}

আউটপুট:

{8:3, 3:5, 5:67, 2:90, 1:100}

উপরে দেখা যাচ্ছে ডিকশনারি তার ভ্যালু অনুযায়ী সর্ট হয়েছে।

  • আমরা sorted() এবং items() মেথড একসাথে ব্যবহার করি ডিকশনারি ভ্যালু অনুযায়ী সর্ট করতে।

  • items() ডিকশনারির আইটেম বা ভ্যালুগুলো রিট্রিভ করতে ব্যবহৃত হয়।

  • key=lambda x: x[1] হলো একটি সোর্টিং মেকানিজম যা ল্যাম্বডা ফাংশন ব্যবহার করে।

  • এটি আমাদের কী-ভ্যালু পেয়ার দিয়ে যা পরে dict() ব্যবহার করে ডিকশনারিতে রূপান্তরিত করা হয়।

উদাহরণ

dic = {2:90, 1: 100, 8: 3, 5: 67, 3: 5}
dic2 = dict(sorted(dic.items(), key=lambda x: x[1]))
print(dic2)

আউটপুট

{8: 3, 3: 5, 5: 67, 2: 90, 1: 100}

  1. পাইথনে ডিকশনারি ইটারেট করার পদ্ধতি

  2. পাইথনে স্ট্রিংকে ডিকশনারিতে রূপান্তর করা

  3. পাইথনে স্ট্রিং-এর অক্ষরগুলো বর্ণানুক্রমে সর্ট করা

  4. পাইথনে স্ট্রিংয়ের লিস্ট সর্ট করা