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

পাইথন: ম্যাট্রিক্সকে সারির সর্বোচ্চ এলিমেন্ট (Maximum Row Element) অনুযায়ী সাজানো

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

উদাহরণ


def row_max(row):
    """সারির সর্বোচ্চ মান ফেরত দেয়"""
    return max(row)

my_list = [[15, 27, 18], [39, 20, 13], [13, 15, 56], [43, 13, 25]]
print("মূল ম্যাট্রিক্স:")
for row in my_list:
    print(f"  {row} → max: {row_max(row)}")

# সর্বোচ্চ মান অনুযায়ী ডিসেন্ডিং সর্ট (reverse=True)
my_list.sort(key=row_max, reverse=True)

print("\nসাজানো ম্যাট্রিক্স (সর্বোচ্চ মান অনুযায়ী ডিসেন্ডিং):")
for row in my_list:
    print("  ", row)

আউটপুট


মূল ম্যাট্রিক্স:
  [15, 27, 18] → max: 27
  [39, 20, 13] → max: 39
  [13, 15, 56] → max: 56
  [43, 13, 25] → max: 43

সাজানো ম্যাট্রিক্স (সর্বোচ্চ মান অনুযায়ী ডিসেন্ডিং):
  [13, 15, 56]
  [43, 13, 25]
  [39, 20, 13]
  [15, 27, 18]

ল্যাম্বডা দিয়ে সংক্ষিপ্ত


my_list.sort(key=max, reverse=True)
# max ফাংশন সরাসরি কি হিসেবে কাজ করে

অন্যান্য সার্টিং ক্রাইটেরিয়া


# ন্যূনতম মান অনুযায়ী
my_list.sort(key=min)

# সারির যোগফল অনুযায়ী
my_list.sort(key=sum)

# সারির গড় অনুযায়ী
my_list.sort(key=lambda row: sum(row)/len(row))

# সারির দৈর্ঘ্য অনুযায়ী
my_list.sort(key=len)

Pandas-এ প্রয়োগ


import pandas as pd
df = pd.DataFrame(my_list)
df['row_max'] = df.max(axis=1)
df_sorted = df.sort_values('row_max', ascending=False).drop('row_max', axis=1)

Stable Sort নোট

Python-র sort() stable — একই কি वाले এলিমেন্টগুলোর النسبিক অর্ডার বদলায় না।

  1. পাইথনে টাপলের লিস্টে সর্বোচ্চ এলিমেন্ট বের করা

  2. পাইথনে ম্যাট্রিক্সের প্রতিটি সারিতে সর্বনিম্ন ছেদক উপাদান খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে ম্যাট্রিক্সের কলাম সোর্ট করুন

  4. পাইথনে map() ফাংশন ব্যবহার করে ম্যাট্রিক্সে সর্বোচ্চ ১-যুক্ত সারি খুঁজে বের করা