python リストの隣り合う要素の差

リストの隣り合う要素の差を求める方法を説明します。

zipを使った方法

a = [1, 3, 6]
sa = [r - l for l, r in zip(a, a[1:])]
print(sa)
"""出力
[2, 3]
"""

下記、正しく動作する理由です。
aは[1, 3, 6]の3要素、a[1:]は[3, 6]の2要素です。最短の要素数は2なので、zipの結果の要素数も2となります。

この関数はタプルのイテレータを返し、その i 番目のタプルは引数シーケンスまたはイテラブルそれぞれの i 番目の要素を含みます。このイテレータは、入力イテラブルの中で最短のものが尽きたときに止まります。

https://docs.python.org/ja/3.8/library/functions.html#zip

参考

Attention Required! | Cloudflare

コメント

タイトルとURLをコピーしました