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

পাইথন: ম্যাট্রিক্সে K-র গুণিতক (Multiple of K) এলিমেন্ট বিশিষ্ট সারি ফিল্টার করা

নেস্টেড লিস্ট (ম্যাট্রিক্স) থেকে যেসব সারির সব এলিমেন্ট নির্দিষ্ট সংখ্যা K-র গুণিতক, শুধু সেসব সারি ফিল্টার করার জন্য লিস্ট কম্প্রিহেনশন, all() এবং মডুলাস অপারেটর ব্যবহার করা হয়।

উদাহরণ


my_list = [[15, 10, 25], [14, 28, 23], [120, 55], [55, 30, 203]]
K = 5
print("ম্যাট্রিক্স:", my_list)
print("K =", K)

# সব এলিমেন্ট K-র গুণিতক হলে রাখা
filtered = [row for row in my_list if all(x % K == 0 for x in row)]

print("ফিল্টার করা সারিগুলো:")
print(filtered)

আউটপুট


ম্যাট্রিক্স: [[15, 10, 25], [14, 28, 23], [120, 55], [55, 30, 203]]
K = 5
ফিল্টার করা সারিগুলো: [[15, 10, 25], [120, 55]]

ব্যাখ্যা

সারিএলিমেন্টসK=5 দিয়ে ভাগশেষফলাফল
[15, 10, 25]15, 10, 250, 0, 0✓ রাখা
[14, 28, 23]14, 28, 234, 3, 3✗ বাদ
[120, 55]120, 550, 0✓ রাখা
[55, 30, 203]55, 30, 2030, 0, 3✗ বাদ

ফাংশনাল সংস্করণ


def is_multiple_of_k(row, k):
    return all(x % k == 0 for x in row)

filtered = list(filter(lambda row: is_multiple_of_k(row, K), my_list))

NumPy ব্যবহার (বড় ম্যাট্রিক্সের জন্য দ্রুত)


import numpy as np

arr = np.array(my_list, dtype=object)  # অসমান দৈর্ঘ্যের সারি হলে object dtype
# সমান দৈর্ঘ্য হলে সরাসরি 2D array
arr = np.array([[15, 10, 25], [14, 28, 23], [120, 55, 0], [55, 30, 203]])

mask = (arr % K == 0).all(axis=1)
filtered = arr[mask].tolist()
print(filtered)
  1. পাইথন প্রোগ্রাম: নির্দিষ্ট পেয়ার সমRaport সহ সারি ফিল্টার করা

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

  3. পাইথনে লিস্ট এলিমেন্টের ফ্রিকোয়েন্সি (বারবারতা) গণনা

  4. পাইথনে লিস্টের ভ্যালু একাধিক ভেরিয়েবলে অ্যাসাইন করুন