Python dictionary function resulting in syntax error on Linux but not on Windows
本问题已经有最佳答案,请猛点这里访问。
我有一行代码,通过将字典的键设置为字典的键来创建字典。然后它使用字典中该键的值作为键来查找字典,以获取相应的值。
1 | new_dictionary = {key : dictionary_a.get(value, value) for key, value in dictionary_b.iteritems()} |
这在Windows上编译得很好,但是当我尝试在Linux上使用compile时,我会得到以下错误:
1 2 3 4 | File"IP_Merger.py", line 46 new_ip = {key : dictionary_a.get(value, value) for key, value in dictionary_b.iteritems()} ^ SyntaxError: invalid syntax |
在Windows上,我在python 2.7和linux 2.6.6上编译。这就是问题所在吗?
从python 2.7开始支持字典理解-有关详细信息,请参阅此quesiton。
您可以使用Python2.6中的生成器创建字典,如下所示:
1 | dict((key(s),value(s)) for s in something) |