Rumah >pembangunan bahagian belakang >Tutorial Python >Cara Mengira Perbezaan Antara Elemen Berturut-turut dalam Senarai Python: Ungkapan Lambda vs Pemahaman Senarai

Cara Mengira Perbezaan Antara Elemen Berturut-turut dalam Senarai Python: Ungkapan Lambda vs Pemahaman Senarai

Linda Hamilton
Linda Hamiltonasal
2024-10-29 05:10:02918semak imbas

How to Calculate Differences Between Consecutive Elements in a Python List: Lambda Expressions vs List Comprehensions

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn