打印两个字符串中按字母顺序排列的公共字符的 Python 代码
给定两个由用户输入的字符串,我们的任务是以字母顺序打印所有公共字符。
示例
Input: string1: python string2: program Output: op
说明
两个字符串之间的公共字母依次是 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP