使用 Python 字典、集合和计数器检查频率是否可以相同


当需要检查字典、集合和计数器的频率是否相同时,会导入 Counter 包并将输入转换为“Counter”。字典的值被转换为“集合”,然后转换为列表。根据输入的长度,输出显示在控制台上。

以下是相同的演示 -

示例

 在线演示

from collections import Counter
def check_all_same(my_input):
   my_dict = Counter(my_input)
   input_2 = list(set(my_dict.values()))
   if len(input_2)>2:
      print('The frequencies are not same')
   elif len (input_2)==2 and input_2[1]-input_2[0]>1:
      print('The frequencies are not same')
   else:
      print('The frequencies are same')

my_str = 'xxxyyyzzzzzz'
print("The string is :")
print(my_str)
check_all_same(my_str)

输出

The string is :
xxxyyyzzzzzz
The frequencies are not same

解释

  • 导入所需的包。

  • 定义一个方法,该方法将一个输入作为参数。

  • 将输入转换为 Counter 并将其赋值给一个变量。

  • 使用“.values”方法访问字典的值,并将其转换为列表。

  • 再次将其转换为列表,并将其赋值给一个变量。

  • 如果输入的长度大于 2,则表示频率不匹配。

  • 否则,如果输入的长度为 2 且第二索引和第一索引之间的差大于 1,则表示频率不相等。

  • 否则表示频率相同。

  • 在方法外部,定义一个字符串,并通过传递此字符串来调用该方法。

  • 输出显示在控制台上。

更新于: 2021-04-17

261 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告