ऐसी सूची होना संभव है जिसके आंतरिक तत्व भी सूचियां हों। ऐसे मामलों में हमें एक आवश्यकता का सामना करना पड़ सकता है जब हमें इन आंतरिक सूचियों के सामान्य तत्वों का पता लगाना होगा। इस लेख में हम इसे हासिल करने के तरीकों के बारे में जानेंगे।
मानचित्र और चौराहे के साथ
इंटरसेक्शन विभिन्न सेटों के बीच सामान्य तत्वों को खोजने की एक सरल गणितीय अवधारणा है। पायथन में सेट विधि है जो एक सेट देता है जिसमें दो या दो से अधिक सेट के बीच समानता होती है। इसलिए हम पहले सूची के तत्वों को मानचित्र फ़ंक्शन के माध्यम से सेट में परिवर्तित करते हैं और फिर सेट विधि को इन सभी परिवर्तित सूचियों पर लागू करते हैं।
उदाहरण
listA = [['Mon', 3, 'Tue', 7,'Wed',4],['Thu', 5,'Fri',11,'Tue', 7],['Wed', 9, 'Tue', 7,'Wed',6]]
# Given list
print("Given list of lists : \n",listA)
# Applying intersection
res = list(set.intersection(*map(set, listA)))
# Result
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]
रिड्यूस और लैम्ब्डा के साथ
हम पाइथन में कम फ़ंक्शन भी लागू कर सकते हैं। इस फ़ंक्शन का उपयोग उस पर दिए गए फ़ंक्शन को पास किए गए अनुक्रम में उल्लिखित सभी सूची तत्वों के तर्क के रूप में लागू करने के लिए किया जाता है। लैम्ब्डा फ़ंक्शन सेट लागू होने के बाद प्रत्येक नेस्टेड सूची के माध्यम से पुनरावृति करके सामान्य तत्वों का पता लगाता है।
उदाहरण
from functools import reduce
listA = [['Mon', 3, 'Tue', 7,'Wed',4],['Thu', 5,'Fri',11,'Tue', 7],['Wed', 9, 'Tue', 7,'Wed',6]]
# Given list
print("Given list of lists : \n",listA)
# Applying reduce
res = list(reduce(lambda i, j: i & j, (set(n) for n in listA)))
# Result
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]