5

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

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

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

4

1 回答 1

23

字典推导式仅在 Python 2.7 及更高版本中可用。对于早期版本,您需要dict()带有生成器的构造函数:

dict((x1, (x0,x2)) for (x0,x1,x2) in zip(x[:-2],x[1:-1],x[2:]))
于 2012-06-07T14:17:55.240 回答