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

Dict 内包表記は、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 に答える