Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengekstrak Setiap Item Nth dengan Elegan dari Senarai dalam Python dengan Menghiris?

Bagaimana untuk Mengekstrak Setiap Item Nth dengan Elegan dari Senarai dalam Python dengan Menghiris?

Barbara Streisand
Barbara Streisandasal
2024-10-20 11:38:30914semak imbas

How to Elegantly Extract Every Nth Item from a List in Python with Slicing?

Pendekatan Satu Pelapik untuk Mengekstrak Setiap Item Nth dalam Senarai

Dalam Python, mencipta senarai baharu yang mengandungi setiap item Nth dalam yang asal senarai boleh dicapai melalui pelbagai kaedah. Walaupun gelung for ialah pilihan yang mudah, ia mungkin bukan pendekatan yang paling cekap atau ringkas.

Penyelesaian yang lebih elegan dan cekap dari segi pengiraan ialah menggunakan sintaks penghirisan Python. Pertimbangkan senarai integer antara 0 hingga 1000:

<code class="python">xs = list(range(1000))</code>

Untuk mengekstrak item ke-10 yang pertama dan setiap seterusnya, anda boleh menggunakan kod berikut:

<code class="python">xs[0::10]</code>

Notasi penghirisan ini menunjukkan yang anda mahu mulakan pada indeks 0 dan dapatkan semula item pada selang 10. Hasilnya ialah senarai baharu yang mengandungi elemen yang diingini:

<code class="python">[0, 10, 20, 30, ..., 990]</code>

Pendekatan penghirisan ini bukan sahaja ringkas tetapi juga jauh lebih pantas daripada menggunakan gelung. Penanda aras prestasi menunjukkan bahawa ia adalah kira-kira 100 kali lebih pantas daripada lelaran ke atas senarai dan menyemak modulus untuk setiap elemen.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Setiap Item Nth dengan Elegan dari Senarai dalam Python dengan Menghiris?. 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