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

পাইথনে লিস্ট অফ লিস্টে কমন এলিমেন্ট খুঁজে বের করা


একটি লিস্ট থাকতে পারে যার ইনার এলিমেন্টগুলিও লিস্ট। এমন ক্ষেত্রে আমরা ইনার লিস্টগুলোর মধ্যে কমন এলিমেন্টগুলো খুঁজে বের করার প্রয়োজন পড়তে পারে। এই লেখায় আমরা তা করার পদ্ধতিগুলো দেখব।

map এবং intersection ব্যবহার করে

ইন্টারসেকশন হল দুটি বা ততোধিক সেটের মধ্যে কমন এলিমেন্ট খুঁজে বের করার একটি সহজ গাণিতিক ধারণা। পাইথনে set মেথড আছে যা সেই সেট রিটার্ন করে যেটি দুটি বা ততোধিক সেটের সাদৃশ্য ধারণ করে। তাই আমরা প্রথমে map ফাংশন ব্যবহার করে লিস্টের এলিমেন্টগুলোকে সেটে রূপান্তর করি এবং তারপর এই রূপান্তরিত লিস্টগুলোর ওপর set মেথড প্রয়োগ করি।

উদাহরণ

listA = [['Mon', 3, 'Tue', 7,'Wed',4],['Thu', 5,'Fri',11,'Tue', 7],['Wed', 9, 'Tue', 7,'Wed',6]]
# প্রদত্ত লিস্ট
print("Given list of lists : \n",listA)
# ইন্টারসেকশন প্রয়োগ
res = list(set.intersection(*map(set, listA)))
# ফলাফল
print("The common elements among inners lists : ",res)

আউটপুট

উপরোক্ত কোডটি চালালে নিচের ফলাফল পাওয়া যায় −

Given list of lists : [['Mon', 3, 'Tue', 7, 'Wed', 4], ['Thu', 5, 'Fri', 11, 'Tue', 7], ['Wed', 9, 'Tue', 7, 'Wed', 6]] The common elements among inners lists : ['Tue', 7]

reduce এবং lambda ব্যবহার করে

আমরা পাইথনের reduce ফাংশনও ব্যবহার করতে পারি। এই ফাংশন একটি দেওয়া ফাংশনকে আর্গুমেন্ট হিসেবে পাস করে সিকোয়েন্সে উল্লিখিত সব লিস্ট এলিমেন্টের ওপর প্রয়োগ করতে ব্যবহৃত হয়। lambda ফাংশন সেট প্রয়োগ করার পর প্রতিটি নেস্টেড লিস্টের মাধ্যমে ইটারেট করে কমন এলিমেন্ট বের করে।

উদাহরণ

from functools import reduce
listA = [['Mon', 3, 'Tue', 7,'Wed',4],['Thu', 5,'Fri',11,'Tue', 7],['Wed', 9, 'Tue', 7,'Wed',6]]
# প্রদত্ত লিস্ট
print("Given list of lists : \n",listA)
# reduce প্রয়োগ
res = list(reduce(lambda i, j: i & j, (set(n) for n in listA)))
# ফলাফল
print("The common elements among inners lists : ",res)

আউটপুট

উপরোক্ত কোডটি চালালে নিচের ফলাফল পাওয়া যায় −

Given list of lists : [['Mon', 3, 'Tue', 7, 'Wed', 4], ['Thu', 5, 'Fri', 11, 'Tue', 7], ['Wed', 9, 'Tue', 7, 'Wed', 6]] The common elements among inners lists : ['Tue', 7]

  1. পাইথনে লিস্টের এলিমেন্টগুলোর যোগফল বের করা

  2. পাইথনে দুটি লিস্টের সাধারণ উপাদান প্রিন্ট করার প্রোগ্রাম

  3. পাইথনে তিনটি সোর্টেড অ্যারেতে সাধারণ উপাদান বের করার প্রোগ্রাম

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