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

পাইথন: ডিকশনারি লিস্টকে সাইজ (আইটেম সংখ্যা) অনুযায়ী সাজানো

ডিকশনারির একটি লিস্টকে প্রতিটি ডিকশনারির আইটেম সংখ্যা (লেন্থ) অনুযায়ী সাজানোর জন্য len() ফাংশন কি হিসেবে ব্যবহার করা হয়।

উদাহরণ


def dict_size(d):
    """ডিকশনারির আইটেম সংখ্যা ফেরত দেয়"""
    return len(d)

my_list = [
    {24: 56, 29: 11, 10: 22, 42: 28},  # ৪ আইটেম
    {54: 73, 59: 11},                    # ২ আইটেম
    {13: 39},                            # ১ আইটেম
    {31: 22, 59: 73, 57: 44}            # ৩ আইটেম
]

print("মূল লিস্ট:")
for d in my_list:
    print(f"  {d} → সাইজ: {len(d)}")

# সাইজ অনুযায়ী আরোহী ক্রমে সর্ট
my_list.sort(key=dict_size)

print("\nসাইজ অনুযায়ী সাজানো লিস্ট:")
for d in my_list:
    print("  ", d)

আউটপুট


মূল লিস্ট:
  {24: 56, 29: 11, 10: 22, 42: 28} → সাইজ: 4
  {54: 73, 59: 11} → সাইজ: 2
  {13: 39} → সাইজ: 1
  {31: 22, 59: 73, 57: 44} → সাইজ: 3

সাইজ অনুযায়ী সাজানো লিস্ট:
  {13: 39}
  {54: 73, 59: 11}
  {31: 22, 59: 73, 57: 44}
  {24: 56, 29: 11, 10: 22, 42: 28}

ল্যাম্বডা দিয়ে এক লাইনে


my_list.sort(key=len)  # len() সরাসরি ডিকশনারিতে কাজ করে
# অথবা
my_list.sort(key=lambda d: len(d))

ডিসেন্ডিং ক্রম (বড় থেকে ছোট)


my_list.sort(key=len, reverse=True)

সাইজ এবং কনটেন্ট দুটির কম্বিনেশন


# প্রথমে সাইজ, তারপর কি অনুযায়ী (টাই ব্রেক)
my_list.sort(key=lambda d: (len(d), sorted(d.keys())))

Pandas-এ প্রয়োগ


import pandas as pd
df = pd.DataFrame(my_list)
df['size'] = df.notna().sum(axis=1)
df_sorted = df.sort_values('size').drop('size', axis=1)
  1. পাইথনে সিলেকশন সর্ট (Selection Sort)

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

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

  4. পাইথন ডিকশনারি মাস্টার করুন: কি-ভ্যালু ম্যাপ দক্ষতার সাথে তৈরি, অ্যাক্সেস এবং ব্যবহার করুন