4

如果没有 ,我该如何执行此操作string.count(),因为它在 Python v2.7.3 文档中被列为已弃用?

我找不到我应该使用的东西。

编辑:该问题最初表示str.count()已弃用,但这是不正确且具有误导性的。有关说明,请参见https://stackoverflow.com/a/10385996/966508

4

6 回答 6

16

使用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 中被删除)以支持前者。

于 2012-04-30T15:11:36.137 回答
5

使用len()

>>> len('abcd')
4
于 2012-04-30T15:05:52.800 回答
2

这在 2.7.3 中运行良好

>>> strs='aabbccddaa'
>>> strs.count('a')
4
于 2012-04-30T15:13:57.427 回答
1

不使用 count 你可以这样做:

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

结果:

>>> my_count('acavddgaaa','a')
5
于 2012-04-30T22:24:29.593 回答
1

另一种方式可以是

strs.__len__()

于 2013-01-25T03:59:22.760 回答
-1
sentence = str(input("Write a Sentence: "))
count = 0
for word in sentence:
    if word == " ":
    count = count + 1
print(count+1)
于 2020-04-29T19:39:39.580 回答