যদি ডুপ্লিকেট উপাদানের কলামগুলো সরাতে হয়, তবে একটি পদ্ধতি সংজ্ঞায়িত করা হয় যা একটি খালি সেট তৈরি করে। তালিকাটি ইটারেট করা হয় এবং যদি না পাওয়া যায়, তবে সেটে যোগ করা হয়।
উদাহরণ
নিচে এর প্রদর্শন দেওয়া হলো:
from itertools import chain
def remove_dupes(my_sub):
my_string = set()
for i, elem in enumerate(my_sub):
if elem not in my_string:
my_string.add(elem)
else:
yield i
my_list = [[5, 1, 6, 7, 9], [6, 3, 1, 9, 1], [4, 2, 9, 8, 9], [5, 1, 6, 7, 3]]
print("তালিকা হলো : ")
print(my_list)
K = 3
temp_idxs = set(chain.from_iterable(remove_dupes(sub) for sub in my_list))
my_result = [[elem for i, elem in enumerate(sub) if i not in temp_idxs] for sub in my_list]
print("ফলাফল হলো : ")
print(my_result)
আউটপুট
তালিকা হলো : [[5, 1, 6, 7, 9], [6, 3, 1, 9, 1], [4, 2, 9, 8, 9], [5, 1, 6, 7, 3]] ফলাফল হলো : [[5, 1, 6, 7], [6, 3, 1, 9], [4, 2, 9, 8], [5, 1, 6, 7]]
ব্যাখ্যা
প্রয়োজনীয় প্যাকেজগুলো এনভায়রনমেন্টে ইম্পোর্ট করা হয়।
remove_dupesনামক একটি পদ্ধতি সংজ্ঞায়িত করা হয় যা একটি তালিকা প্যারামিটার হিসেবে নেয়।একটি খালি সেট তৈরি করা হয়।
তালিকার উপাদানগুলো এনামারেট করা হয় এবং যদি কোনো উপাদান না পাওয়া যায়, তবে খালি সেটে যোগ করা হয়।
অন্যথায়, এনামারেশনের ইটারেটর ইয়িল্ড করা হয়।
ফাংশনের বাইরে লিস্ট অফ লিস্ট সংজ্ঞায়িত করা হয় এবং কনসোলে প্রদর্শন করা হয়।
'K' এর জন্য একটি মান সংজ্ঞায়িত করা হয়।
পদ্ধতিটি ইটারেট করে কল করা হয়।
এটি সেটে রূপান্তরিত করা হয় এবং একটি ভেরিয়েবলে এসাইন করা হয়।
আবার এনামারেট করা হয়, ইটারেট করা হয় এবং ফলাফল ভেরিয়েবলে স্টোর করা হয়।
এই ফলাফল ভেরিয়েবল আউটপুট হিসেবে কনসোলে প্রদর্শন করা হয়।