python - 在使用字典(字谜)时比较 2 个字符串
问题描述
检查两个字符串是否是字谜。编写一个函数 anagrams(s1,s2),给定两个字符串 s1 和 s2,如果它们是 anagrams,则返回 True,否则使用字典返回 False
- 如果 len(s1) 与 len(s2) 不同,则它们不是字谜
- 我找不到使用字典比较两个字符串的方法。
代码:
D1={}
D2={}
def anagrams(s1,s2):
if len(s1)!=len(s2):
return False
else:
if D1==D2:
return True
else:
return False
解决方案
您可以对每个字符串使用 dict 来计算每个不同字符的出现次数:
def anagrams(s1, s2):
d = {}
for s in s1, s2:
d[s] = {}
for c in s:
d[s][c] = d[s].get(c, 0) + 1
return d[s1] == d[s2]
推荐阅读
- mysql - 如何在子查询结果中默认一个值?
- bash - 使文件看起来没有混乱
- c++ - Microsoft Visual Studio Professional 2013,变量在哪里定义和编辑?
- python - 用填充的数据框和不同的列名填充空数据框
- pentaho - Pentaho - 数据格式
- php - PHP 7.2 中计数数组位置的问题
- firebase - Firebase user.sendEmailVerification() 到我自己的地址
- javascript - 仅返回数组中对象属性最流行的拼写以及降序排列的所有拼写的总和
- selenium - 在 IntellIJ 的浏览器中记录步骤
- azure-active-directory - 没有 HTTPS 的 MSAL 重定向 URI