使用 Python 计算给定字符串中出现频率最高的所有前缀

pythonserver side programmingprogramming

在本教程中,我们将编写一个程序,计算并打印字母表中出现频率高于第二个字母表的单词。

取一个字符串和两个字母表。将打印第一个字母表中出现频率较高的前缀。并在输出末尾显示计数。

让我们看一些例子。

输入

string:- apple
alphabets:- p, e

输出

ap
app
appl
apple 4

Input

string:- apple
alphabets:- e, p

输出

0

让我们看看编写代码的步骤。

  • 定义一个函数并在其中编写代码。

  • 将计数初始化为 0 和一个空字符串。

  • 遍历字符串。

  • 使用字符串切片和索引获取前缀。并将其存储在一个空字符串中。

  • 比较前缀中的字母频率。

  • 如果满足,则打印并增加计数。

  • 最后打印计数。

示例

# 定义一个用于多次调用的函数
def prefixes(string, _1, _2):
   # count count = 0
   # 用于比较的空字符串
   prefix = ""
   # 遍历字符串
   for i in range(len(string)):
      # 从字符串中获取前缀
      prefix = string[:i + 1]
      # 比较前缀中的字母数量
      if prefix.count(_1) > prefix.count(_2):
      # 如果成功则打印前缀
      print(prefix)
      # 将计数增加 1
      count += 1
   # 打印计数
   print(f"匹配的前缀总数:{count}")
if __name__ == '__main__':
   # 调用函数
   print(f"----------------apple p e---------------------")
   prefixes('apple', 'p', 'e')
   print()
   print(f"----------------apple e p---------------------")
   prefixes('apple', 'e', 'p')

输出

如果您运行上述代码,您将获得以下结果。

----------------apple p e---------------------
ap
app
appl
apple
Total prefixes matched: 4
----------------apple e p---------------------
Total prefixes matched: 0

结论

如果您在理解代码时遇到任何问题,请在评论部分中提及它们。


相关文章