Python – Count number of words in a list strings
Question:
Im trying to find the number of whole words in a list of strings, heres the list
mylist = ["Mahon Point retail park", "Finglas","Blackpool Mahon", "mahon point blanchardstown"]
expected outcome:
4
1
2
3
There are 4 words in mylist[0], 1 in mylist[1] and so on
for x, word in enumerate(mylist):
for i, subwords in enumerate(word):
print i
Totally doesnt work….
What do you guys think?
Answers:
The simplest way should be
num_words = [len(sentence.split()) for sentence in mylist]
Use str.split
:
>>> mylist = ["Mahon Point retail park", "Finglas","Blackpool Mahon", "mahon point blanchardstown"]
>>> for item in mylist:
... print len(item.split())
...
4
1
2
3
for x,word in enumerate(mylist):
print len(word.split())
You can use NLTK:
import nltk
mylist = ["Mahon Point retail park", "Finglas","Blackpool Mahon", "mahon point blanchardstown"]
print(map(len, map(nltk.word_tokenize, mylist)))
Output:
[4, 1, 2, 3]
a="hello world aa aa aa abcd hello double int float float hello"
words=a.split(" ")
words
dic={}
for word in words:
if dic.has_key(word):
dic[word]=dic[word]+1
else:
dic[word]=1
dic
We can count the number of a word’s ocurrence in a list using the Counter
function.
from collection import Counter
string = ["mahesh","hello","nepal","nikesh","mahesh","nikesh"]
count_each_word = Counter(string)
print(count_each_word)
Output:
Counter({mahesh:2},{hello:1},{nepal:1},{nikesh:2})
This is another solution:
You can clean your data first and then count the result, something like that:
mylist = ["Mahon Point retail park", "Finglas","Blackpool Mahon", "mahon point blanchardstown"]
for item in mylist:
for char in "-.,":
item = item.replace(char, '')
item_word_list = item.split()
print(len(item_word_list))
The result:
4
1
2
3
mylist = ["Mahon Point retail park", "Finglas","Blackpool Mahon", "mahon point blanchardstown"]
flage = True
for string1 in mylist:
n = 0
for s in range(len(string1)):
if string1[s] == ' ' and flage == False:
n+=1
if string1[s] == ' ':
flage = True
else:
flage = False
print(n+1)
lista="Write a Python function to count the number of occurrences of a given characte Write a of occurrences of a given characte"
dic=lista.split(" ")
wcount={}
for i in dic:
if i in wcount:
wcount[i]+=1
else:
wcount[i]=1
print(wcount)
Im trying to find the number of whole words in a list of strings, heres the list
mylist = ["Mahon Point retail park", "Finglas","Blackpool Mahon", "mahon point blanchardstown"]
expected outcome:
4
1
2
3
There are 4 words in mylist[0], 1 in mylist[1] and so on
for x, word in enumerate(mylist):
for i, subwords in enumerate(word):
print i
Totally doesnt work….
What do you guys think?
The simplest way should be
num_words = [len(sentence.split()) for sentence in mylist]
Use str.split
:
>>> mylist = ["Mahon Point retail park", "Finglas","Blackpool Mahon", "mahon point blanchardstown"]
>>> for item in mylist:
... print len(item.split())
...
4
1
2
3
for x,word in enumerate(mylist):
print len(word.split())
You can use NLTK:
import nltk
mylist = ["Mahon Point retail park", "Finglas","Blackpool Mahon", "mahon point blanchardstown"]
print(map(len, map(nltk.word_tokenize, mylist)))
Output:
[4, 1, 2, 3]
a="hello world aa aa aa abcd hello double int float float hello"
words=a.split(" ")
words
dic={}
for word in words:
if dic.has_key(word):
dic[word]=dic[word]+1
else:
dic[word]=1
dic
We can count the number of a word’s ocurrence in a list using the Counter
function.
from collection import Counter
string = ["mahesh","hello","nepal","nikesh","mahesh","nikesh"]
count_each_word = Counter(string)
print(count_each_word)
Output:
Counter({mahesh:2},{hello:1},{nepal:1},{nikesh:2})
This is another solution:
You can clean your data first and then count the result, something like that:
mylist = ["Mahon Point retail park", "Finglas","Blackpool Mahon", "mahon point blanchardstown"]
for item in mylist:
for char in "-.,":
item = item.replace(char, '')
item_word_list = item.split()
print(len(item_word_list))
The result:
4
1
2
3
mylist = ["Mahon Point retail park", "Finglas","Blackpool Mahon", "mahon point blanchardstown"]
flage = True
for string1 in mylist:
n = 0
for s in range(len(string1)):
if string1[s] == ' ' and flage == False:
n+=1
if string1[s] == ' ':
flage = True
else:
flage = False
print(n+1)
lista="Write a Python function to count the number of occurrences of a given characte Write a of occurrences of a given characte"
dic=lista.split(" ")
wcount={}
for i in dic:
if i in wcount:
wcount[i]+=1
else:
wcount[i]=1
print(wcount)