首页 > 解决方案 > 在使用字典(字谜)时比较 2 个字符串

问题描述

检查两个字符串是否是字谜。编写一个函数 anagrams(s1,s2),给定两个字符串 s1 和 s2,如果它们是 anagrams,则返回 True,否则使用字典返回 False

  1. 如果 len(s1) 与 len(s2) 不同,则它们不是字谜
  2. 我找不到使用字典比较两个字符串的方法。

代码:

D1={}
D2={}

def anagrams(s1,s2):
    if len(s1)!=len(s2):
        return False

    else:
         if D1==D2:
               return True
          else:
                return False

标签: pythonpython-3.xdictionary

解决方案


您可以对每个字符串使用 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]

推荐阅读