count: added v3 and v4 after reading about Trey's solution.
This commit is contained in:
parent
93a8cc169e
commit
9657a82d8d
|
|
@ -1,5 +1,5 @@
|
|||
import re
|
||||
from collections import defaultdict
|
||||
from collections import defaultdict, Counter
|
||||
|
||||
|
||||
def count_words_v1(sentence):
|
||||
|
|
@ -17,4 +17,18 @@ def count_words_v2(sentence):
|
|||
return count
|
||||
|
||||
|
||||
count_words = count_words_v2
|
||||
def count_words_v3(sentence):
|
||||
"""Augmented by trey's regex."""
|
||||
regex = r"\b[\w'-]+\b"
|
||||
count = defaultdict(int)
|
||||
for word in re.findall(regex, sentence):
|
||||
count[word.lower()] += 1
|
||||
return count
|
||||
|
||||
|
||||
def count_words_v4(sentence):
|
||||
"""And the most compact yet pythonic solution."""
|
||||
return Counter(re.findall(r"\b[\w'-]+\b", sentence.lower()))
|
||||
|
||||
|
||||
count_words = count_words_v4
|
||||
|
|
|
|||
Loading…
Reference in a new issue