Mencari Perbezaan Antara Elemen Senarai dalam Python
Memandangkan senarai nilai berangka, matlamat kami adalah untuk menentukan perbezaan antara elemen yang berturutan. Dua pendekatan biasanya digunakan untuk tugasan ini: ungkapan lambda dan pemahaman senarai.
Ekspresi Lambda
Ekspresi Lambda menyediakan cara ringkas untuk mencipta fungsi tanpa nama. Dalam kes ini, fungsi lambda boleh digunakan untuk mengira perbezaan antara dua elemen bersebelahan:
<code class="python">lambda i, j: j - i</code>
Kami kemudiannya boleh mengulangi senarai menggunakan zip untuk memasangkan setiap elemen dengan penggantinya dan menggunakan fungsi lambda untuk hitung perbezaan:
<code class="python">differences = [lambda i, j: j - i for i, j in zip(t[:-1], t[1:])]</code>
Pemahaman Senarai
Pemahaman senarai juga merupakan alat yang berkuasa untuk manipulasi senarai. Mereka menawarkan cara ringkas untuk membina senarai baharu berdasarkan nilai dalam senarai sedia ada:
<code class="python">differences = [j - i for i, j in zip(t[:-1], t[1:])]</code>
Dalam pemahaman ini, klausa for berulang pada pasangan elemen yang dicipta oleh zip. Ungkapan j - i mengira perbezaan antara setiap pasangan, dan nilai yang terhasil disimpan dalam senarai perbezaan.
Contoh
Untuk menggambarkan, mari kita pertimbangkan senarai t = [1, 3, 6]. Menggunakan sama ada ungkapan lambda atau pendekatan pemahaman senarai, kita boleh mengira perbezaan seperti berikut:
<code class="python"># Lambda expression differences = [lambda i, j: j - i for i, j in zip(t[:-1], t[1:])] print(differences) # [2, 3] # List comprehension differences = [j - i for i, j in zip(t[:-1], t[1:])] print(differences) # [2, 3]</code>
Kedua-dua pendekatan menghasilkan hasil yang betul, jadi pilihan yang hendak digunakan bergantung pada keutamaan peribadi dan keperluan khusus bagi kodnya.
Atas ialah kandungan terperinci Cara Mengira Perbezaan Antara Elemen Berturut-turut dalam Senarai Python: Ungkapan Lambda vs Pemahaman Senarai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!