Python 用于…的词典。。。在里面?

Python 用于…的词典。。。在里面?,python,python-2.7,dictionary,Python,Python 2.7,Dictionary,我正在查看其他人的代码以适应我自己的代码,我在第44行中遇到了这个问题: scores = {word: tfidf(word, blob, bloblist) for word in blob.words} 当我在Python2.7.6中尝试这一点时,我在的单词后面的空格中得到了一个语法错误。为什么是无效语法,代码中到底发生了什么?字典理解 字典和集合理解({i:i*2表示范围(3)}内的i) 因此,Python 2.6中的等价物是 dict((word, tfidf(word, blob,

我正在查看其他人的代码以适应我自己的代码,我在第44行中遇到了这个问题:

scores = {word: tfidf(word, blob, bloblist) for word in blob.words}

当我在Python2.7.6中尝试这一点时,我在的单词
后面的空格中得到了一个语法错误。为什么是无效语法,代码中到底发生了什么?

字典理解

字典和集合理解({i:i*2表示范围(3)}内的i)

因此,Python 2.6中的等价物是

dict((word, tfidf(word, blob, bloblist)) for word in blob.words)
但是通过一份名单会稍微快一点

dict([(word, tfidf(word, blob, bloblist)) for word in blob.words])

这相当于blob.words中的单词的dict((word,tfidf(word,blob,bloblist))
这段代码对我来说很好。你确定你在Python2.7上运行了这个吗?在Python2.6或更早版本中,dict理解会引起语法错误,但在2.7+中不会。@AshwiniChaudhary我在2.7上,但它可能只是一个过时的高级文本插件