python dictionary函数导致Linux上的语法错误,而不是Windows上的语法错误

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)