[英]Count the number of times a particular string appears in a given word
如何编写一个程序来打印特定字符串在给定单词中出现的次数。 例如:如果我在单词 'asdadgfrdad' 中查找字符串 'dad',输出应该是 2。
def numStrings(a):
strings = 'dad'
result = 0
for char in a:
if char in strings:
result = result + 1
print result
numStrings("asdadgfrdad")
但这给了我字母 d,a 在给定单词中出现的次数。 如何纠正这个?
做这件事的简短而简单的pythonic方法是
'asdadgfrdad'.count('dad')
但是,当您查看诸如'dadad'.count('dad')
返回 1 而不是 2 之类'dadad'.count('dad')
时,您的答案可能是也可能不是您所期望的。这是因为str.count
返回非重叠出现的次数子串。 另一方面,如果要查找重叠子串的数量,则必须使用以下代码:
haystack = 'dadad'
needle = 'dad'
sum(haystack[i:i+len(needle)] == needle for i in range(len(haystack)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.