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

पायथन में उनकी उपस्थिति के आधार पर वाक्यांशों को छाँटने का कार्यक्रम

मान लीजिए, हमें दो सूचियाँ दी गई हैं; 'वाक्यांश' जिसमें कुछ चयनित वाक्यांश होते हैं और 'वाक्य' जिनमें कई वाक्य होते हैं जिनमें दूसरी सूची के वाक्यांश शामिल हो सकते हैं या नहीं भी हो सकते हैं। हमें यह पता लगाना है कि क्या पहली सूची के विभिन्न वाक्यांश दूसरी सूची में दिखाई देते हैं और पहली सूची के वाक्यांशों को दूसरी सूची में उनकी उपस्थिति के आधार पर क्रमबद्ध करना है। हम क्रमबद्ध सूची 'वाक्यांश' को आउटपुट के रूप में लौटाते हैं।

इसलिए, यदि इनपुट वाक्यांशों की तरह है =['मजबूत', 'टिकाऊ', 'कुशल'], वाक्य =['उत्पाद टिकाऊ और कुशल है', 'मजबूत और टिकाऊ', 'यह कुशल है', 'पसंद करें' क्योंकि यह कुशल है'], तो आउटपुट ['कुशल', 'टिकाऊ', 'मजबूत']

होगा

वाक्यांश 'कुशल' वाक्य 0, 2, और 4 में प्रकट होता है। इसमें सबसे अधिक उपस्थिति है, इसलिए यह आउटपुट की शुरुआत में है। वाक्यांश 'टिकाऊ' और 'मजबूत' क्रमशः वाक्य 0 और 1 और 1 में प्रकट होते हैं। तो, ये वाक्यांश आउटपुट में अगला स्थान प्राप्त करते हैं।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • cnt :=एक नया नक्शा
  • वाक्यांशों में प्रत्येक सुविधा के लिए, करें
    • cnt[फीचर] :=0
  • वाक्य में प्रत्येक प्रतिक्रिया के लिए, करें
    • p :=एक नई सूची जिसमें प्रतिक्रिया के शब्द शामिल हैं
    • s :=p से एक नया सेट
    • प्रत्येक i के लिए, करते हैं
      • अगर मैं सीएनटी में मौजूद हूं, तो
        • cnt[i] :=cnt[i] + 1
  • res :=cnt में प्रत्येक k के लिए जोड़े वाली एक नई सूची (k, cnt[k])
  • गिनती k के आधार पर सूची को क्रमबद्ध करें
  • गिनती मान k शामिल किए बिना सूची res लौटाएं

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

def solve(phrases, sentences):
   cnt = {}
   for feature in phrases:
      cnt[feature] = 0
   for response in sentences:
      p = response.split()
      s = set(p)
      for i in s:
         if i in cnt:
            cnt[i] += 1
   res = [[k, cnt[k]] for k in cnt]
   res.sort(key = lambda x:(-x[1], phrases.index(x[0])))
   return [i[0] for i in res]

print(solve(['strong', 'durable', 'efficient'], ['the product is durable and efficient', 'strong and durable', 'it is efficient', 'like it because it is efficient']))

इनपुट

['strong', 'durable', 'efficient'],
['the product is durable and efficient', 'strong and durable', 'it is
efficient', 'like it because it is efficient']

आउटपुट

['efficient', 'durable', 'strong']

  1. कॉकटेल सॉर्ट के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें दी गई सूची पर बिटोनिक सॉर्ट करने और सूची प्रदर्शित करने की आवश्यकता है कॉकटेल सॉर्ट करें - यहां सॉर्ट बबल सॉर्ट की तरह होता है जहां दोनों दिशाओं में पुनरावृत्ति होती है। एल्गोरिदम सबसे

  1. पायथन प्रोग्राम में सिलेक्शन सॉर्ट

    इस लेख में, हम Python 3.x में सिलेक्शन सॉर्ट और उसके कार्यान्वयन के बारे में जानेंगे। या पहले। चयन क्रम . में एल्गोरिथम, एक सरणी को पुनरावर्ती रूप से अनसोल्ड भाग से न्यूनतम तत्व ढूंढकर और शुरुआत में सम्मिलित करके सॉर्ट किया जाता है। किसी दिए गए सरणी पर चयन क्रम के निष्पादन के दौरान दो उप-सरणी बनते

  1. चयन क्रम के लिए पायथन कार्यक्रम

    इस लेख में, हम Python 3.x में सिलेक्शन सॉर्ट और उसके कार्यान्वयन के बारे में जानेंगे। या पहले। चयन क्रम . में एल्गोरिथम, एक सरणी को पुनरावर्ती रूप से अनसोल्ड भाग से न्यूनतम तत्व ढूंढकर और शुरुआत में सम्मिलित करके सॉर्ट किया जाता है। किसी दिए गए सरणी पर चयन क्रम के निष्पादन के दौरान दो उप-सरणी बनते