比较两个字符串是否有相同的字母且相同字母个数相等

您所在的位置:网站首页 python数字符串中重复的字母 比较两个字符串是否有相同的字母且相同字母个数相等

比较两个字符串是否有相同的字母且相同字母个数相等

2023-08-28 09:40| 来源: 网络整理| 查看: 265

问题 若给两组字符串如: s1 = ‘Public Relations’ s2 = ‘Crap Built on Lies’ 如果忽略大小写与空格,s1可以通过打乱顺序得到s2,则返回True,否则返回False

s1 = 'Public Relations' s2 = 'Crap Built on Lies' import re #变为小写字母 s1 = s1.lower() s2 = s2.lower() #正则表达式,去除空格 s1 = re.sub(r"\s+", "", s1, flags=re.UNICODE) #\s 匹配任意的空白符; + 重复1次或多次 s2 = re.sub(r"\s+", "", s2, flags=re.UNICODE)

正则表达式参考 正则表达式

#方法一:使用sorted()函数 def anagram1(s1,s2): s1 = s1.replace(' ','').lower() s2 = s2.replace(' ','').lower() return sorted(s1) == sorted(s2) #方法二 def anagram2(s1,s2): s1 = s1.replace(' ','').lower() s2 = s2.replace(' ','').lower() if len(s1) != len(s2): return False count = {} # fill dictionary with first string for letter in s1: if letter in count: count[letter] += 1 else: count[letter] = 1 for letter in s2: if letter in count: count[letter] -= 1 else: count[letter] = 1 for k in count: if count[k] != 0: return False return True


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3