リストの隣り合う要素の差を求める方法を説明します。
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
コメント