Python
 Computer >> コンピューター >  >> プログラミング >> Python

2つの文字列の共通文字をアルファベット順に出力するPythonコード


2つのユーザー入力文字列が与えられます。私たちのタスクは、すべての一般的な文字をアルファベット順に印刷することです。

Input:
string1: python
string2: program
Output: op

説明

2つの文字列に共通する文字は、o(1回)、p(1回)

です。

アルゴリズム

Step 1: first we take two input string.
Step 2: next we will do to convert these two strings into counter dictionary.
Step 3: Now find common elements between two strings using intersection ( ) property.
Step 4: Resultant will also be a counter dictionary having common elements as keys and their common frequencies as value.
Step 5: Use elements () method of the counter dictionary to expand the list of keys by their frequency number of times.
Step 6: sort list in ascending order to print a resultant string in alphabetical order.
Step 7: join characters without space to produce resultant string.

サンプルコード

from collections import Counter
def common(str1,str2):
   d1 = Counter(str1)
   d2 = Counter(str2)
   cdict = d1 & d2
   if len(cdict) == 0:
      print -1
   return
   cchars = list(cdict.elements())
   cchars = sorted(cchars)
   print ("Common characters are ::>",''.join(cchars) )
      # Driver program
   if __name__ == "__main__":
      s1 = input("Enter first string")
      s2 = input("Enter second string")
common(s1, s2)

出力

Enter first string python
Enter second string program
Common characters are ::> op

  1. Pythonでエスケープ文字を印刷する方法

    この記事では、Pythonでエスケープ文字を印刷する方法を見ていきます。エスケープ文字とは何か知っていると思いますか?知らない人のためのエスケープ文字は何ですか? 文字列の個々の意味には、エスケープ文字が使用されます。 改行、タブスペースを含める場合 、など、文字列では、これらのエスケープ文字を使用できます。いくつかの例を見てみましょう。 例 ## new line new_line_string = "Hi\nHow are you?" ## it will print 'Hi' in first line and 'How are you?&

  2. Pythonで2つの文字列を結合して1つの文字列に変換するにはどうすればよいですか?

    Pythonで2つの文字列を結合するには、連結演算子+を使用できます。例: str1 = "Hello" str2 = "World" str3 = str1 + str2 print str3 これにより、出力が得られます: HelloWorld str.join(seq)を使用して、複数の文字列を結合することもできます。例: s = "-"; seq = ("a", "b", "c"); # This is sequence of strings. print s.j