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

Posted

技术标签:

【中文标题】Python字典函数在Linux上导致语法错误,但在Windows上没有[重复]【英文标题】:Python dictionary function resulting in syntax error on Linux but not on Windows [duplicate] 【发布时间】:2015-09-10 21:01:52 【问题描述】:

我有一行代码通过将其键设置为dictionary_b 的键来创建字典。然后以dictionary_b中那个key的值作为key,通过dictionary_a来查找对应的值。

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

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

  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 上进行编译。会不会是这个问题?

【问题讨论】:

是的,这就是问题 【参考方案1】:

从 Python 2.7 开始支持字典推导 - 请参阅 this quesiton 了解更多信息。

您可以在 python 2.6 中使用生成器创建字典,如下所示:

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

【讨论】:

以上是关于Python字典函数在Linux上导致语法错误,但在Windows上没有[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python 2 中的函数字典

字典的Python语法错误

Python中的异常处理总结

Python异常处理知识点汇总,五分钟就能学会

为啥字典查找会导致“不可散列类型”错误,但使用直接值不会?

Python基础语法