Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengira Perbezaan Antara Elemen Berturut-turut dengan Cekap dalam Senarai Python?

Bagaimana untuk Mengira Perbezaan Antara Elemen Berturut-turut dengan Cekap dalam Senarai Python?

Susan Sarandon
Lepaskan: 2024-10-28 06:15:30
asal
671 orang telah melayarinya

 How to Efficiently Calculate Differences Between Consecutive Elements in a Python List?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan