使用dict理解的语法无效

Chr*_*ris 5 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:])}
Run Code Online (Sandbox Code Playgroud)

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

Dan*_*man 22

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

dict((x1, (x0,x2)) for (x0,x1,x2) in zip(x[:-2],x[1:-1],x[2:]))
Run Code Online (Sandbox Code Playgroud)