这是我编写的用于检查字符串中sub_string出现次数的代码:
a = 'ABCDCD' #Main String
b = 'CDC' #Sub String
sub_Len = len(b)
occurrence = 0
for s in range(len(a)):
if a[s:s+sub_Len] == b:
occurrence += 1
答案 0 :(得分:2)
答案 1 :(得分:1)
虽然这里不需要列表理解,但是您可以使用列表理解将代码减少到一行,以计算子字符串的出现次数
print(sum([1 for s in range(len(a)-len(b)+1) if a[s:s+len(b)] == b]))
此处列表理解为每次出现的子字符串创建一个1
列表,然后使用sum()
添加计数
答案 2 :(得分:1)
这是一种方法:
sum(1 for i in range(len(a)) if a.startswith(b, i))
startswith
与起始索引一起使用,以避免切分字符串。 sum
之前创建中间列表。