计算字符串(Python)中某些字符出现次数的首选方法是什么?

时间:2012-04-30 15:04:44

标签: python string function deprecated

如何在没有str.count()的情况下执行此操作,因为它在Python v2.7.3文档中已被弃用?

我无法找到我应该使用的内容。

6 个答案:

答案 0 :(得分:13)

使用str.count() - 它未列为已弃用。

Python 2.7.3Python 3.2.3 - 两者都没有关于被弃用的说明。)

>>> "test".count("t")
2

我认为你的意思是string.count() - 它被折旧以支持字符串对象上的方法。

区别在于str.count()是字符串对象的方法,而string.count()string模块中的函数。

>>> "test".count("t")
2
>>> import string
>>> string.count("test", "t")
2

很清楚为什么后者被弃用(并在3.x中删除)以支持前者。

答案 1 :(得分:4)

使用len()

>>> len('abcd')
4

答案 2 :(得分:2)

这在2.7.3

中工作正常
>>> strs='aabbccddaa'
>>> strs.count('a')
4

答案 3 :(得分:1)

不使用计数你可以这样做:

def my_count(my_string, key_char):
    return sum(c == key_char for c in my_string)

结果:

>>> my_count('acavddgaaa','a')
5

答案 4 :(得分:0)

另一种方式可以是

strs.__len__()

答案 5 :(得分:-1)

sentence = str(input("Write a Sentence: "))
count = 0
for word in sentence:
    if word == " ":
    count = count + 1
print(count+1)