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

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

পাইথনের স্ট্যান্ডার্ড ডিস্ট্রিবিউশনে collections মডিউল থাকে। এতে হাই-পারফরম্যান্স কন্টেইনার ডেটা টাইপের ডেফিনিশন থাকে। OrderedDict ডিকশনারির একটি সাবক্লাস যা ডিকশনারি অবজেক্টে যুক্ত এন্ট্রিগুলোর অর্ডার মনে রাখে। অর্ডারড ডিকশনারি ওপর ইটারেট করলে আইটেমগুলো কি প্রথমে যোগ হয়েছিল সেই অর্ডারে রিটার্ন হয়।

>>> from collections import OrderedDict
>>> D = {5: 'fff', 3: 'ttt', 1: 'ooo', 4: 'bbb', 2: 'ddd'}
>>> OrderedDict(D.items())
OrderedDict([(5, 'fff'), (3, 'ttt'), (1, 'ooo'), (4, 'bbb'), (2, 'ddd')])

আমাদের sorted() ফাংশনও দরকার যা একটি ইটেরেবলের এলিমেন্টগুলো নির্দিষ্ট অর্ডারে সর্ট করে। ফাংশনটি একটি ফাংশন আর্গুমেন্ট হিসেবে নেয় যা সর্টিং-র জন্য কি হিসেবে কাজ করে। যেহেতু আমরা ডিকশনারিকে ভ্যালু অনুযায়ী সর্ট করতে চাই, তাই টাপলের ১ নম্বর এলিমেন্ট (ইনডেক্স ১) কি হিসেবে নিচ্ছি।

>>> OrderedDict(sorted(D.items(), key=lambda t: t[1]))
OrderedDict([(4, 'bbb'), (2, 'ddd'), (5, 'fff'), (1, 'ooo'), (3, 'ttt')])

OrderedDict অবজেক্টকে রেগুলার ডিকশনারি অবজেক্টে পার্স করা যায়:

>>> D1 = dict(OrderedDict(sorted(D.items(), key=lambda t: t[1])))
>>> D1
{4: 'bbb', 2: 'ddd', 5: 'fff', 1: 'ooo', 3: 'ttt'}
দ্রষ্টব্য: এই আর্টিকেল ১০০৬১০৭৬৮৬-এর সাথে অপ্রায় একই।

পাইথন ৩.৭+ নোট: রেগুলার ডিকশনারিই ইনসারশন অর্ডার মেইনটেইন করে, OrderedDict বাধ্যতামূলক নয়। dict(sorted(D.items(), key=lambda x: x[1])) cukup।

  1. পাইথন ডিকশনারির ভ্যালু আপডেট করার পদ্ধতি

  2. পাইথনে ডিকশনারি ভ্যালু অনুযায়ী সর্ট করার পদ্ধতি

  3. পাইথনে ডিকশনারি কি অনুযায়ী সর্ট করার পদ্ধতি

  4. পাইথনে ডিকশনারির সব ভ্যালু প্রিন্ট করার পদ্ধতি