Python-检查字符串中所有字符的频率是否不同

在本文中,我们将看到如何找到给定字符串中每个字符的频率。然后查看两个或多个字符在给定字符串中的频率是否相同。我们将分两步完成此操作。在第一个程序中,我们将找出每个字符的频率。

每个字符的频率

在这里,我们找到给定输入屏幕中每个字符的频率。我们声明一个空字典,然后将每个字符添加为字符串。我们还为每个字符分配键,以创建字典所需的键值对。

示例

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
字符具有不同的频率。