2013-06-01 41 views
1

希望这将是一个快速解决方案。我担心我对Python的了解不够多,不知道为什么我有编译器语法错误。该代码如下,编译器有一个问题,与“为”在代码的行语句:创建Python字典:语法问题

vocab_counter = {vocabLine.strip().lower(): 0 for vocabLine in vocabOutFile} 

vocabLine是文本从.txt文件一行,并vocabOutFile是它的文件阅读。我试图在.txt文档中创建一个单词列表,并在每个单词上增加一个计数器,因为它们是在单独的文档中找到的。

那么,为什么会出现语法错误?

谢谢大家的帮助,我真的很感激!

+3

python版本? –

+1

请显示完整的错误信息。 – BrenBarn

+0

错误的python版本,我不知道它。我被制服了! – FeralShadow

回答

2

对不起。我发现我试图做的只是在python 2.7或更高版本中可用。对于Python 2.6我不得不将代码更改为:

vocab_counter = dict((vocabLine.strip().lower(), 0) 
        for vocabLine in vocabOutFile) 

感谢您的时间!

+5

忘记'dict'? –

+0

显然是旧的Python版本。 – FeralShadow

+1

@FeralShadow您在这里发布的代码会创建一个生成器表达式,而不是字典。 –