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:

This works fine in 2.7.3

>>> strs='aabbccddaa'
>>> strs.count('a')
4

Solution 4:

Without using count you can do this:

def my_count(my_string, key_char):
    return sum(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?"