たとえば、L = [0,1,2,3]; というリストがあります。サブリスト [0,1]、[1,2]、[2,3] のそれぞれの値に (2 つの引数を持つ) 関数を適用し、新しい値の別のリストを作成したいと思います。すなわち [f(0,1), f(1,2), f(2,3)]
私はすべてを見てきましたが、答えが見つからないようです。
どんな助けでも大歓迎です、
ありがとう、デイブ
編集:私はPythonを使用しています。
result = [f(*args) for args in zip(L, L[1:])]
または:
result = map(f, L[:-1], L[1:])
オンデマンドで結果を生成するitertools関数を使用した遅延バージョン:
it = starmap(f, izip(L, islice(L, 1, None)))
または:
it = imap(f, L, islice(L, 1, None))
またはL
、任意の iterable の場合:
a, b = tee(L)
it = imap(f, a, islice(b, 1, None))