我在阅读文档时遇到了Python str.count
函数。我似乎无法找到关于函数内部工作的任何好的解释。使用什么算法来计算字符串中的子串数?它是如何运作的?
答案 0 :(得分:5)
在https://github.com/python/cpython/blob/master/Objects/stringlib/fastsearch.h
处研究源代码文件顶部的评论解释了这么多:
快速搜索/计数实施,基于boyer-moore之间的混合 和horspool一样,顶部还有一些铃铛和口哨声。对于一些 更多背景信息,请参阅:http://effbot.org/zone/stringlib.htm
答案 1 :(得分:-2)
我尝试使用 Python 编写一个简单的代码来计算单词列表中有多少个“r”:
fruit = ["apple", "banana", "rrrrrrrrr", "cherry", "berrada"]
y=0
for j in range(len(fruit)):
x = fruit[j].count("r")
y = y + x
print(y)
它可能会帮助您了解计数函数的工作原理。