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?
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
The simplest way should be
num_words = [len(sentence.split()) for sentence in mylist]
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]
for x,word in enumerate(mylist):
print len(word.split())
Usama Chitapure
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
Mahesh Acharya
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})
来源:https://stackoverflow.com/questions/18827198/python-count-number-of-words-in-a-list-strings