I have a list of letters and letter clusters, like this:
['x', 'str', 'a', 'pr']
I have a string that I need to know how many total occurrences of any member of the list are in it:
stripe = 1, rope = 0,, rprpraxp = 4, etc
Now I can loop over the members of the list counting occurrences of each member and then total them, like this:
sublist = ['x', 'str', 'a', 'pr']
string = "rprpraxp"
inst = 0
for member in sublist:
inst = inst + string.count(member)
print(inst)
However I am wondering if I am missing a shorter, simpler, more intuitive and more Pythonic way of counting the members of a set of items in another string, something like:
inst = string.multicount(['x', 'str', 'a', 'pr'])
Anything like this exist?
Thanks.
Use the count() Function to Count the Number of a Characters Occuring in a String in Python. We can count the occurrence of a value in strings using the count() function. It will return how many times the value appears in the given string.
Step 1: Declare a String and store it in a variable. Step 2: Use 2 loops to find the duplicate characters. Outer loop will be used to select a character and initialize variable count to 1. Step 3: Inner loop will be used to compare the selected character with remaining characters of the string.
I would use map
and sum
:
sublist = ['x', 'str', 'a', 'pr']
string = "rprpraxp"
print(sum(map(string.count, sublist)))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With