Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mengira Perbezaan Antara Elemen Berturut-turut dengan Cekap dalam Senarai Python?
Mengira Perbezaan antara Elemen Senarai dalam Python
Selalunya dalam pemprosesan data, kita menghadapi situasi di mana kita perlu mengira perbezaan antara elemen dalam satu senarai. Ini boleh dicapai menggunakan pelbagai teknik dalam Python.
Ungkapan Lambda lwn. Pemahaman Senarai
Terdapat dua pendekatan biasa untuk tugas ini: ungkapan lambda dan pemahaman senarai. Kedua-dua teknik mempunyai kelebihan tersendiri. Mari terokai mereka:
Ekspresi Lambda:
<code class="python">result = [j - i for i, j in zip(t[:-1], t[1:])]</code>
Pemahaman Senarai:
<code class="python">result = [i - j for i, j in [(t[i], t[i+1]) for i in range(len(t)-1)]]</code>
Perbandingan dan Prestasi
Walaupun kedua-dua pendekatan adalah sah, pemahaman senarai biasanya berprestasi lebih baik daripada ungkapan lambda. Ini kerana pemahaman senarai lebih padat dan mudah dibaca. Selain itu, ia dioptimumkan untuk manipulasi senarai dan selalunya menghasilkan pelaksanaan kod yang lebih pantas.
Contoh
Pertimbangkan senarai t = [1, 3, 6]. Kami ingin mengira perbezaan antara elemen berturut-turut, menghasilkan senarai v = [2, 3]. Menggunakan pendekatan pemahaman senarai, kita boleh mencapai ini seperti berikut:
<code class="python">t = [1, 3, 6] v = [j - i for i, j in zip(t[:-1], t[1:])] print(v) # Output: [2, 3]</code>
Dalam contoh ini, fungsi zip menggandingkan elemen bersebelahan dalam senarai, dan pemahaman senarai menolak setiap pasangan untuk menghasilkan perbezaan yang diingini.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Perbezaan Antara Elemen Berturut-turut dengan Cekap dalam Senarai Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!