使用dict理解的语法无效

时间:2012-06-07 14:12:36

标签: python syntax-error dictionary-comprehension

给定一个名为' x'的浮点列表,我想创建一个dict,使用dict理解将x [1:-1]中的每个x映射到它的邻居。我尝试过以下一行:

neighbours = {x1:(x0,x2) for (x0,x1,x2) in zip(x[:-2],x[1:-1],x[2:])}

但是,语法似乎无效。我做错了什么?

1 个答案:

答案 0 :(得分:22)

Dict comprehensions仅适用于Python 2.7以上版本。对于早期版本,您需要带有生成器的dict()构造函数:

dict((x1, (x0,x2)) for (x0,x1,x2) in zip(x[:-2],x[1:-1],x[2:]))