2017-02-10 9 views
-2

私は指定された文から特定の単語の数を計算したいと思います...単語は私のdictonaryと文章を入力しますユーザー..... ここに私のコードです。Python:リストと辞書、TypeError:リストインデックスはstrでなく整数でなければなりません

+1

達成しようとしていることは何ですか?あなたが書いたことは意味がありません。また、 'cnt [wordTosearch]'も無関係です。なぜなら、リストを使ってマッピングをインデックス化するからです。すべての値が '> 1'であるかどうかチェックしますか?次に、 'すべての場合(cnt.values()の値のための値> 1)'。 – Bakuriu

答えて

0
from collections import Counter 

Find_word= raw_input('Write Sentence:') 
sentence= Find_word.split() 
cnt = Counter(sentence) 

wordTosearch=['is', 'am'] 

for k in wordTosearch: 
    print k, cnt[k] 

if all(cnt[x] > 1 for x in wordTosearch): 
    print "aggresive" 
else: 
    print "Not agressive" 

ているように私は、底部にかかわらず、何をすべきかを知らない文字列のインデックスでリストの値にアクセスすることはできません。

+0

ありがとう,,,,,底部を無視して.... – atif

0

wordTosearchは単語のリストです。

次の言葉のそのリストを反復処理です:

kが単語である、と wordTosearch[k]はあなたに 「はTypeErrorを与える文字列キーでリストの値にアクセスしようとする試みである
if k in wordTosearch: 
    print k, wordTosearch[k] # <---- 

:リストインデックス文字列ではなく整数でなければなりません "
あなたはPythonのリストは、「番号」配列

関連する問題