Python 字典函数在 Linux 上导致语法错误,但在 Windows 上没有

Python dictionary function resulting in syntax error on Linux but not on Windows

我有一行代码通过将其键设置为 dictionary_b 的键来创建字典。然后它使用 dictionary_b 中那个键的值作为键来查找 dictionary_a 以获取相应的值。

new_dictionary = {key : dictionary_a.get(value, value) for key, value in dictionary_b.iteritems()}

这在 Windows 上编译得很好,但是当我尝试在 Linux 上使用编译时,我收到以下错误:

  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 开始支持字典理解 - 有关详细信息,请参阅 this quesiton

您可以在 python 2.6 中使用生成器创建字典:

dict((key(s),value(s)) for s in something)