我有一个字符串
string = 'AAA'
使用string.count('A')
时,输出等于3
如果是string.count('AA')
,则输出等于1
但是,字符串中有2个AA。
是否有任何方法可以使用字典函数计算上面重复的字符串?
我想听听你的有用建议。
提前谢谢大家。
答案 0 :(得分:1)
问题是Count返回字符串中substring sub出现的次数(非重叠)。
试试这个,你可以看到这个post:
def occurrences(string, sub):
count = start = 0
while True:
start = string.find(sub, start) + 1
if start > 0:
count+=1
else:
return count
答案 1 :(得分:1)
替代"不是巨大的"字符串
>>> s, sub = 'AAA', 'AA'
>>> sum(s[x:].startswith(sub) for x in range(len(s)))
2
我发现这更具可读性。
答案 2 :(得分:-1)
呀!你可以使用字典
def count(input):
a = {}
for i in input:
a[i] = a.get(i,0)+ 1
return a
print(count('AA')) #Would return 2