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)
我有一行代码通过将其键设置为 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)