我收到以下代码行的python语法错误:
orientations = [[(ants[0].loc, 0, {i: i for i in range(self.num_players)})]]
^
这是来自别人的脚本,我很确定应该可以工作,所以我怀疑问题可能是我正在使用的python版本? 我正在运行python 2.6.6。
答案 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。