在下面的代碼,嵌套字典理解
[{word: score_tweet(tweet) for word in tweet} for tweet in tweets]
我收到類型的字典列表:
[{u'soad': 0.0, u'<3': 0.0}, {u'outros': 0.0, u'acredita': 0.0}]
我想只得到一個平坦的字典,如:
{u'soad': 0.0, u'<3': 0.0, u'outros': 0.0, u'acredita': 0.0}
我應該如何更改我的代碼? 注意:我正在使用Python 2.7。
爲什麼在'tweet'和'word'這個關於'tweet'和'word'對稱的表達方式'word:score_tweet(tweet)'中,一個循環比另一個循環有優先權或者必須優先於其他優先權? – elyase 2013-05-13 00:17:31
@elyase:因爲詞典理解直接映射到'tweet中的tweet:tweet中的單詞:foo [word] = score_tweet(tweet)',並且在理解中改變'for'表達式的順序對應於嘗試在tweet中寫'for word:在tweets中發推文:...',這顯然不起作用,因爲當你試圖將其元素分配給'word'時,tweet不存在。 – jwodder 2013-05-13 00:19:57