在本文中,我们将看到如何找到给定字符串中每个字符的频率。然后查看两个或多个字符在给定字符串中的频率是否相同。我们将分两步完成此操作。在第一个程序中,我们将找出每个字符的频率。
在这里,我们找到给定输入屏幕中每个字符的频率。我们声明一个空字典,然后将每个字符添加为字符串。我们还为每个字符分配键,以创建字典所需的键值对。
in_string = "She sells sea shells" dic1 = {} for k in in_string: if k in dic1.keys(): dic1[k]+=1 else: dic1[k]=1 print(dic1) for k in dic1.keys(): print(k, " repeats ",dic1[k]," time's")
运行上面的代码给我们以下结果-
{'S': 1, 'h': 2, 'e': 4, ' ': 3, 's': 5, 'l': 4, 'a': 1} S repeats 1 time's h repeats 2 time's e repeats 4 time's repeats 3 time's s repeats 5 time's l repeats 4 time's a repeats 1 time's
接下来,我们扩展上述程序以找出每个唯一字符的频率。如果频率的唯一值大于1,则可以得出结论,并非所有字符都具有相同的频率。
in_string = "She sells sea shells" dic1 = {} for k in in_string: if k in dic1.keys(): dic1[k]+=1 else: dic1[k]=1 print(dic1) u_value = set( val for udic in dic1 for val in (dic1.values())) print("Number of Unique frequencies: ",len(u_value)) if len(u_value) == 1: print("All character have same frequiency") else: print("字符具有不同的频率。")
运行上面的代码给我们以下结果-
{'S': 1, 'h': 2, 'e': 4, ' ': 3, 's': 5, 'l': 4, 'a': 1} Number of Unique frequencies: 5 字符具有不同的频率。