যখন ম্যাট্রিক্স রোতে সিমিলার এলিমেন্ট চেক করা প্রয়োজন হয়, একটি মেথড ডিফাইন করা হয় যা ম্যাট্রিক্স প্যারামিটার হিসেবে নেয়। map মেথড ব্যবহার করে ম্যাট্রিক্সকে টাপলে কনভার্ট করা হয়। ম্যাট্রিক্স ভ্যালু ইটারেট করা হয় এবং যদি ফ্রিকোয়েন্সি ১-এর চেয়ে বড় হয়, তবে কনসোলে প্রদর্শিত হয়।
উদাহরণ
নিচে এর প্রদর্শন করা হলো:
from collections import Counter
def find_dupes(my_matrix):
my_matrix = map(tuple, my_matrix)
freq_dict = Counter(my_matrix)
for (row, freq) in freq_dict.items():
if freq > 1:
print(row)
my_matrix = [[1, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1], [1, 0, 1, 1, 0, 0], [1, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1], [0, 0, 1, 0, 0, 1]]
print("The matrix is :")
print(my_matrix)
print("The result is :")
find_dupes(my_matrix)
আউটপুট
The matrix is : [[1, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1], [1, 0, 1, 1, 0, 0], [1, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1], [0, 0, 1, 0, 0, 1]] The result is : (1, 1, 0, 1, 0, 1) (0, 0, 1, 0, 0, 1)
ব্যাখ্যা
প্রয়োজনীয় প্যাকেজ ইম্পোর্ট করা হয়।
'find_dupes' নামক একটি মেথড ডিফাইন করা হয় যা ম্যাট্রিক্স প্যারামিটার হিসেবে নেয়।
'map' মেথড ব্যবহার করে ম্যাট্রিক্সকে টাপলে কনভার্ট করা হয়।
কাউন্টার মেথড ব্যবহার করে ম্যাট্রিক্সের প্রতিটি ভ্যালুর কাউন্ট বের করা হয়।
এটি একটি ডিকশনারিতে স্টোর করা হয়।
ডিকশনারি আইটেমগুলো ইটারেট করা হয়।
যদি কোনো এলিমেন্টের ফ্রিকোয়েন্সি ১-এর চেয়ে বড় হয়, তবে কনসোলে প্রদর্শিত হয়।
মেথডের বাইরে একটি ম্যাট্রিক্স (টেকনিক্যালি লিস্ট অফ লিস্ট) ডিফাইন করা হয় এবং কনসোলে প্রদর্শন করা হয়।
প্রয়োজনীয় প্যারামিটার পাস করে মেথড কল করা হয়।
রেজাল্ট কনসোলে প্রদর্শিত হয়।