用python计算字符串中的字母

duc*_*cin 3 python string

我有以下练习:编写函数countA(word),它接受一个单词作为参数,并返回该单词中的'a'数.例子

>>> countA("apple")
1
>>> countA("Apple")
0
>>> countA("Banana")
3
Run Code Online (Sandbox Code Playgroud)

我的解决方案是:

def countA(word):
  return len([1 for x in word if x is 'a'])
Run Code Online (Sandbox Code Playgroud)

没关系.但是我不确定它是否是解决这个问题的最好的pythonic方法,因为我创建了一个1值列表并检查它的长度.任何人都可以建议更多pythonic?

Jon*_*nts 5

假设你不仅仅被允许使用word.count()- 这是另一种方式 - 可能比总和一个发生器更快,如果你想要你可以做多个字母......

def CountA(word):
    return len(word) - len(word.translate(None, 'A'))
Run Code Online (Sandbox Code Playgroud)

要么:

def CountA(word):
    return len(word) - len(word.replace('A', ''))
Run Code Online (Sandbox Code Playgroud)