如何编写打印特定字符串出现在给定单词中的次数的程序.例如:如果我在单词'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")
Run Code Online (Sandbox Code Playgroud)
但这给了我字母d,a出现在给定单词中的次数.怎么纠正这个?
简单而简单的pythonic方式就是这样
'asdadgfrdad'.count('dad')
Run Code Online (Sandbox Code Playgroud)
但是,当您查看类似于'dadad'.count('dad')返回1而不是2的内容时,您的答案可能会或可能不是您所期望的.这是因为str.count返回子字符串的非重叠出现次数.另一方面,如果要查找重叠子串的数量,则必须使用以下代码:
haystack = 'dadad'
needle = 'dad'
sum(haystack[i:i+len(needle)] == needle for i in range(len(haystack)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3654 次 |
| 最近记录: |