Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में बाइनरी एलिमेंट लिस्ट ग्रुपिंग

मान लीजिए कि हमारे पास सूचियों की एक सूची है जिसमें प्रत्येक उपन्यास में दो तत्व हैं। सूची के कई अन्य विषयों में प्रत्येक उपन्यास का एक तत्व आम है। हमें एक अंतिम सूची बनाने की आवश्यकता है जो सामान्य तत्वों द्वारा समूहीकृत उप-सूचियों को दिखाएगी।

सेट और मैप के साथ

दी गई सूची में पहला तत्व एक स्ट्रिंग है और दूसरा तत्व एक संख्या है। इसलिए हम एक अस्थायी सूची बनाते हैं जिसमें प्रत्येक उपन्यास का दूसरा तत्व होगा। फिर हम तुलना करते हैं कि अस्थायी सूची में प्रत्येक तत्व के साथ सबलिस्ट है और डिजाइनर उन्हें समूहित करने के लिए अनुसरण करते हैं।

उदाहरण

listA = [['Mon', 2], ['Tue', 3], ['Wed', 3],
["Thu", 1], ['Fri', 2], ['Sat', 3],
['Sun', 1]]
# With set and map
temp = set(map(lambda i: i[1], listA))
res = [[j[0] for j in listA if j[1] == i] for i in temp]
# Result
print("The list with grouped elements is : \n" ,res)

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

The list with grouped elements is :
[['Thu', 'Sun'], ['Mon', 'Fri'], ['Tue', 'Wed', 'Sat']]

ग्रुपबाय और आइटमगेटर के साथ

प्रत्येक सबलिस्ट का दूसरा तत्व प्राप्त करने के लिए आइटमगेटर फ़ंक्शन का उपयोग किया जाता है। फिर आइटमगेटर फ़ंक्शन के परिणाम के आधार पर फ़ंक्शन द्वारा एक समूह लागू किया जाता है।

उदाहरण

from itertools import groupby
from operator import itemgetter
listA = [['Mon', 2], ['Tue', 3], ['Wed', 3],["Thu", 1], ['Fri', 2], ['Sat', 3],['Sun', 1]]
# With groupby
listA.sort(key = itemgetter(1))
groups = groupby(listA, itemgetter(1))
res = [[i[0] for i in val] for (key, val) in groups]
# Result
print("The list with grouped elements is : \n" ,res)

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

The list with grouped elements is :
[['Thu', 'Sun'], ['Mon', 'Fri'], ['Tue', 'Wed', 'Sat']]

डिफॉल्टडिक्ट के साथ

हम उपसूची के दूसरे तत्वों को शब्दकोश की कुंजी के रूप में प्राप्त करने के लिए डिफॉल्टडिक्ट फ़ंक्शन लागू करते हैं। फिर परिणामी सूची में हम सबलिस्ट के पहले तत्व से मूल्यों को जोड़ते हैं।

उदाहरण

import collections
listA = [['Mon', 2], ['Tue', 3], ['Wed', 3],["Thu", 1], ['Fri', 2], ['Sat', 3],['Sun', 1]]
# With defaultdict
res = collections.defaultdict(list)
for val in listA:
   res[val[1]].append(val[0])
# Result
print("The list with grouped elements is : \n" ,res)

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

The list with grouped elements is :
defaultdict(<class 'list'>, {2: ['Mon', 'Fri'], 3: ['Tue', 'Wed', 'Sat'], 1: ['Thu', 'Sun']})

  1. पूर्णांकों की पायथन सूची में प्रत्येक तत्व में K जोड़ना

    डेटा विश्लेषण में, कभी-कभी एक नए परिदृश्य के परिणाम के बारे में न्याय करने के लिए एक अजगर सूची में प्रत्येक तत्व के लिए कुछ मूल्य जोड़ना आवश्यक हो जाता है। यह कई परिदृश्यों का परीक्षण करने में मदद करता है कि डेटा सेट विभिन्न मूल्यों के साथ कैसे व्यवहार करेगा इसलिए एक मॉडल या एल्गोरिदम बनाएं जो उन पर

  1. पायथन में पूर्णांक के लिए बाइनरी सूची

    हम विभिन्न दृष्टिकोणों का उपयोग करके पायथन में एक बाइनरी संख्या का प्रतिनिधित्व करने वाले 0s और 1s की सूची को दशमलव संख्या में बदल सकते हैं। नीचे दिए गए उदाहरणों में हम int() विधि के साथ-साथ बिटवाइज़ लेफ्ट शिफ्ट ऑपरेटर का उपयोग करते हैं। int का उपयोग करना () int() विधि दो तर्कों में लेती है और नीचे

  1. बाइनरी सर्च के लिए पायथन प्रोग्राम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन − हमें एक क्रमबद्ध सूची दी जाएगी और हमें एक द्विआधारी खोज की मदद से एक तत्व खोजने की जरूरत है। एल्गोरिदम x की तुलना मध्य तत्व से करें। यदि x मध्य तत्व से मेल खाता है, तो हम मध्य सूचकांक लौटा