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?"