文字列のリストで単語全体の数を見つけようとしています。ここにリストがあります
mylist = ["Mahon Point retail park", "Finglas","Blackpool Mahon", "mahon point blanchardstown"]
期待される結果:
4
1
2
3
Mylist [0]には4つの単語があり、mylist [1]には1つの単語があります。
for x, Word in enumerate(mylist):
for i, subwords in enumerate(Word):
print i
まったく動作しません...
皆さんはどう思いますか?
使用する 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
最も簡単な方法は
num_words = [len(sentence.split()) for sentence in mylist]
[〜#〜] nltk [〜#〜] を使用できます:
import nltk
mylist = ["Mahon Point retail park", "Finglas","Blackpool Mahon", "mahon point blanchardstown"]
print(map(len, map(nltk.Word_tokenize, mylist)))
出力:
[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)
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
これは別の解決策です:
最初にデータをクリーンアップしてから、次のように結果をカウントできます。
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))
結果:
4
1
2
3
Counter
関数を使用して、リスト内の単語の出現回数を数えることができます。
from collection import Counter
string = ["mahesh","hello","nepal","nikesh","mahesh","nikesh"]
count_each_Word = Counter(string)
print(count_each_Word)
出力:
for x,Word in enumerate(mylist):
print len(Word.split())