私はTweepy/Django/nltkプロジェクトを行っています。ここでは、検索されたツイートを更新するリストがあります。ここで私は問題を抱えている部分です:ループ内にPythonリストが正しく追加されない
query = 'happy'
max_tweets=5
search_results = {}
sentiments = {}
sentilist = []
for status in tweepy.Cursor(api.search, q=query).items(max_tweets):
search_results[status.text] = unicode(status.text)
search_results[status.text] = search_results[status.text].replace('|', ' ')
search_results[status.text] = search_results[status.text].replace('\n', ' ')
print(senti.linearsvc10(status.text))
sentiments['tweet'] = unicode(search_results[status.text])
sentiments['sentiment'] = senti.linearsvc10(unicode(status.text))
sentilist.append(sentiments)
print('inloop sentiments')
print sentiments
print('inloop sentilist')
print sentilist
print('sentiments')
print sentiments
print('sentilist')
print sentilist
基本的に、感情がループの各実行のためにそう
{'tweet': 'Actual tweet here', 'sentiment': 'pos'}
に等しくなりますが、私はそう、感情がリストに追加しますそれの終わりまでに、私は5つの異なるオブジェクトをリストに入れます。しかし、実際に何が起こるかは、それぞれがセンチリストに追加されるときに、リスト内の各アイテムを最後に追加されたオブジェクトに変更します。例は、次のように個々の感情のオブジェクトのようになります。
{'tweet': 'tweet1', 'sentiment': 'pos'}
{'tweet': 'tweet2', 'sentiment': 'neg'}
{'tweet': 'tweet3', 'sentiment': 'neg'}
{'tweet': 'tweet4', 'sentiment': 'pos'}
{'tweet': 'tweet5', 'sentiment': 'neg'}
あるべきsentilistする追記:
ではなく、それは次のようになります。私のコードの
[{'tweet': 'tweet5', 'sentiment': 'neg'},
{'tweet': 'tweet5', 'sentiment': 'neg'},
{'tweet': 'tweet5', 'sentiment': 'neg'},
{'tweet': 'tweet5', 'sentiment': 'neg'},
{'tweet': 'tweet5', 'sentiment': 'neg'}]
他の部分は、仕事と私はこれのための簡単な解決策があるように感じるが、私はまだそれを理解することはできません。
これは、答えと説明のおかげで動作します! – user4215649