python计数通过使用字典函数重复字符串中的字符

时间:2013-10-11 07:28:13

标签: python string dictionary

我有一个字符串

string = 'AAA'

使用string.count('A')时,输出等于3 如果是string.count('AA'),则输出等于1

但是,字符串中有2个AA。

是否有任何方法可以使用字典函数计算上面重复的字符串?

我想听听你的有用建议。

提前谢谢大家。

3 个答案:

答案 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