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

पायथन का उपयोग करके एक स्ट्रिंग से सभी डुप्लिकेट वर्ण खोजें

एक तार दिया गया है। हमारा काम उन वर्णों को खोजना है जिनकी आवृत्ति दी गई स्ट्रिंग में एक से अधिक है।

एक उदाहरण के रूप में, हम देख सकते हैं कि स्ट्रिंग "हैलो वर्ल्ड। आइए पायथन सीखें ”इसलिए एल्गोरिथम उन अक्षरों को ढूंढेगा जो कई बार आ रहे हैं। इस मामले में, आउटपुट इस तरह दिखेगा -

e : 3
l : 4
o , 3)
<space> : 4 
r : 2
t : 2
n : 2

इस समस्या को लागू करने के लिए हम Python Collections का उपयोग कर रहे हैं। संग्रह से, हम काउंटर () विधि प्राप्त कर सकते हैं। हैशटेबल ऑब्जेक्ट की गणना करने के लिए काउंटर () विधि का उपयोग किया जाता है। इस मामले में, यह वर्णों को पाठ से अलग करता है और प्रत्येक वर्ण को शब्दकोश की कुंजी बनाता है, और वर्ण गणना उन कुंजियों का मान है।

एल्गोरिदम

Step 1: Find the key-value pair from the string, where each character is key and character counts are the values.
Step 2: For each key, check whether the value is greater than one or not. 
Step 3: If it is greater than one then, it is duplicate, so mark it. Otherwise, ignore the character 

उदाहरण कोड

from collections import Counter
defcalc_char_freq(string):
   freq_count = Counter(string) # get dictionary with letters as key and frequency as value
   for key in freq_count.keys():
      if freq_count.get(key) > 1: # for all different keys, list the letters and frequencies
         print("(" + key + ", " + str(freq_count.get(key)) + ")")
      myStr = 'Hello World. Let’s learn Python'    
      calc_char_freq(myStr)

आउटपुट

(e, 3)
(l, 4)
(o, 3)
( , 4)
(r, 2)
(t, 2)
(n, 2)

  1. पायथन का उपयोग करके स्ट्रिंग से संख्याएं कैसे निकालें?

    एक स्ट्रिंग से प्रत्येक अंक निकालने के लिए - >>> str1='a34e 345 bcd 5he 78 xyz' >>> for s in str1: if s.isdigit():print (s) 3 4 3 4 5 5 7 8 एक स्ट्रिंग से केवल पूर्णांक निकालने के लिए जिसमें शब्दों को स्पेस कैरेक्टर द्वारा अलग किया जाता है - >>> str1='h3110 23

  1. कैसे अजगर में एक स्ट्रिंग से सभी विशेष वर्ण, विराम चिह्न और रिक्त स्थान निकालने के लिए?

    स्ट्रिंग से सभी विशेष वर्ण, विराम चिह्न और रिक्त स्थान को हटाने के लिए, स्ट्रिंग पर पुनरावृति करें और सभी गैर अल्फा न्यूमेरिक वर्णों को फ़िल्टर करें। उदाहरण के लिए: >>> string = "Hello $#! People   Whitespace 7331" >>> ''.join(e for e in string if e.isalnum()

  1. कैसे अजगर का उपयोग कर एक स्ट्रिंग से एक चरित्र को हटाने के लिए?

    यदि आप स्ट्रिंग से किसी निश्चित अनुक्रमणिका पर किसी वर्ण को हटाना चाहते हैं, तो आप उस वर्ण के बिना स्ट्रिंग बनाने के लिए स्ट्रिंग स्लाइसिंग का उपयोग कर सकते हैं। उदाहरण के लिए, >>> s = "Hello World" >>> s[:4] + s[5:] "Hell World" लेकिन यदि आप किसी वर्ण या वर्णो