Python 随机文本的打印计数(单词出现次数)(打印次数)

Python 随机文本的打印计数(单词出现次数)(打印次数),python,string,list,Python,String,List,我试图从任何给定字符串中找到固定单词的出现次数 固定字='黑客入侵' 随机字符串可以是s='aahkrearthaaahkreartha' 现在我们可以从字符串生成2倍的hackerth 我编写了一些代码来查找字符串中(h、a、e、r、c、k、t)字母的计数: 代码: 输出: [2, 4, 2, 2, 2, 2, 2] 从上面的输出列表中,我想计算word的总出现次数 如何获得固定字的总计数以及任何其他方法来简化此代码?您可以利用: 输出: 2 上面的代码将创建两个类似dict的计数器,其中

我试图从任何给定字符串中找到固定单词的出现次数

固定字='黑客入侵'

随机字符串可以是s='aahkrearthaaahkreartha'

现在我们可以从字符串生成2倍的hackerth

我编写了一些代码来查找字符串中(h、a、e、r、c、k、t)字母的计数:

代码:

输出:

[2, 4, 2, 2, 2, 2, 2]
从上面的输出列表中,我想计算word的总出现次数

如何获得固定字的总计数以及任何其他方法来简化此代码?

您可以利用:

输出:

2

上面的代码将创建两个类似dict的计数器,其中字母是键,它们的出现是值。然后,它将使用生成器表达式对单词中的字母进行迭代,并为每个字母生成比率
min
将选择最低比率,
0的
默认值
用于
word
为空字符串的情况。

查找子字符串时,需要考虑字符顺序,而不仅仅是计数

像这样的方法应该会奏效:

def subword(lookup,whole):
    if len(whole)<len(lookup):
          return 0
    if lookup==whole:
          return 1
    if lookup=='':
          return 1
    if lookup[0]==whole[0]:
         return subword(lookup[1:],whole[1:])+subword(lookup,whole[1:])
    return subword(lookup,whole[1:])

因为您可以选择3个
h
s中的每一个,然后用剩余的什么的总计数来构建单词hello?固定词或s。请你澄清你的目标。@Chandan我想在任何给定的文本中都能找到“黑客复活”的次数
2
def subword(lookup,whole):
    if len(whole)<len(lookup):
          return 0
    if lookup==whole:
          return 1
    if lookup=='':
          return 1
    if lookup[0]==whole[0]:
         return subword(lookup[1:],whole[1:])+subword(lookup,whole[1:])
    return subword(lookup,whole[1:])
In [21]: subword('hello','hhhello')
Out[21]: 3