5

文字列のリスト内の単語全体の数を見つけようとしています。リストは次のとおりです

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

まったく効かない……。

皆さんはどう思いますか?

4

8 に答える 8

19

使用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
于 2013-09-16T11:50:45.933 に答える
4

最も簡単な方法は

num_words = [len(sentence.split()) for sentence in mylist]
于 2013-09-16T11:50:11.003 に答える
2

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]
于 2015-08-11T23:58:58.717 に答える
0
for x,word in enumerate(mylist):
    print len(word.split())
于 2013-09-16T12:12:41.037 に答える
0
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
于 2016-09-13T10:30:57.347 に答える