python - 简单的语法问题

时间:2011-07-04 21:04:57

标签: python syntax

我收到以下代码行的python语法错误:

orientations = [[(ants[0].loc, 0, {i: i for i in range(self.num_players)})]]
                                          ^

这是来自别人的脚本,我很确定应该可以工作,所以我怀疑问题可能是我正在使用的python版本? 我正在运行python 2.6.6。

3 个答案:

答案 0 :(得分:3)

正如其他人所说,如果你想让这种语法有效,你必须使用Python 2.7。

或者,您可以使用元组初始化字典:

[[(ants[0].loc, 0, dict((i, i) for i in range(self.num_players)))]]

但是代码的其他部分也可能需要更改。升级到Python 2.7可能更容易,特别是如果您与使用此版本的其他人一起工作。

答案 1 :(得分:2)

{i: i for i in range(self.num_players)}
python 2.5.2中的

是:

dict( (i,i) for i in range(self.num_players) )

答案 2 :(得分:0)

你可能是对的。似乎适用于Python 2.7。