Skip to content Skip to sidebar Skip to footer

What Is The Preferred Way To Count The Number Of Ocurrences Of A Certain Character In A String?

How do I do this without string.count(), because it is listed as deprecated in Python v2.7.3 documentation? I am unable to find what I should use instead. EDIT: The question origin

Solution 1:

Use str.count() - it's not listed as deprecated.

(Python 2.7.3, Python 3.2.3 - both have no notes about being deprecated).

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

I'll presume you meant string.count() - which is depreciated in favour of the method on string objects.

The difference is that str.count() is a method on string objects, while string.count() is a function in the string module.

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

It's clear why the latter has been deprecated (and removed in 3.x) in favour of the former.

Solution 2:

Use len():

>>>len('abcd')
4

Solution 3:

Solution 4:

Without using count you can do this:

defmy_count(my_string, key_char):
    returnsum(c == key_char for c in my_string)

Result:

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

Solution 5:

The other way can be

strs.__len__()

Post a Comment for "What Is The Preferred Way To Count The Number Of Ocurrences Of A Certain Character In A String?"