0

这个问题一定很简单,但由于我是 Ubuntu 和 Python 的新手,我很难找到解决方案。

我在 Windows 上使用 PyDev 在 Python 中编写了一个程序。一切正常,我得到了我想要的输出。现在我正在尝试在 Ubuntu Linux 上运行这个程序。我已经安装了所有必要的模块,并从终端运行命令:

python home/project/bin/prog/main.py

它开始执行,但随后出现错误:

SyntaxError: invalid syntax
Line 128 
dict_values = {z[length_arr]:list(z[:length_arr]) for z in zip(*list_of_lists)} 

所以我想我在 Windows 中使用的 Python 版本和在 Ubuntu 中使用的 Python 版本(Python 2.6.5)之间的语法有所不同。

我试着写这样的代码:

for z in zip(*list_of_lists):
    dict_values = {z[length_arr]:list(z[:length_arr])} 

但我觉得不一样。

如何编写这部分代码,以免语法无效?什么是合适的语法?

4

1 回答 1

4

这一行:

dict_values = {z[length_arr]:list(z[:length_arr]) for z in zip(*list_of_lists)} 

是一个 dict 理解,直到 Python 2.7 才引入。dict您可以改用生成器表达式重写它:

dict_values = dict((z[length_arr], list(z[:length_arr])) for z in zip(*list_of_lists))

这将适用于 Python 2.6 和 2.7。

于 2013-05-07T10:41:30.613 回答