Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana Mengeluarkan Setiap Elemen Nth dengan Cekap dari Senarai dalam Python?

Bagaimana Mengeluarkan Setiap Elemen Nth dengan Cekap dari Senarai dalam Python?

Susan Sarandon
Lepaskan: 2024-10-20 11:17:30
asal
220 orang telah melayarinya

How to Efficiently Extract Every Nth Element from a List in Python?

Ekstrak Setiap Elemen Nth daripada Senarai dalam Python

Apabila berhadapan dengan tugas mengekstrak setiap elemen Nth daripada senarai, seperti memilih setiap item ke-10 daripada senarai integer antara 0 hingga 1000, pendekatan yang mudah mungkin melibatkan penggunaan gelung for untuk lelaran melalui senarai dan semak modulus indeks setiap elemen oleh N. Walau bagaimanapun, terdapat kaedah yang lebih cekap dan elegan yang boleh mencapai hasil yang sama dengan satu baris kod.

Menggunakan sintaks penghirisan Python, kita boleh mengekstrak setiap elemen Nth dengan menentukan saiz langkah N. Dalam contoh yang disediakan, kita boleh mendapatkan senarai yang dikehendaki menggunakan kod berikut:

<code class="python">xs = list(range(165))
result = xs[0::10]</code>
Salin selepas log masuk

Kaedah ini jauh lebih pantas daripada menyemak indeks setiap elemen secara berulang, seperti yang ditunjukkan oleh perbandingan masa berikut:

$ python -m timeit -s "xs = list(range(1000))" "[x for i, x in enumerate(xs) if i % 10 == 0]"
500 loops, best of 5: 476 usec per loop

$ python -m timeit -s "xs = list(range(1000))" "xs[0::10]"
100000 loops, best of 5: 3.32 usec per loop
Salin selepas log masuk

Dengan menggunakan sintaks penghirisan, kita boleh cekap ekstrak setiap elemen Nth daripada senarai dalam Python, yang amat bermanfaat untuk senarai besar yang membimbangkan kelajuan.

Atas ialah kandungan terperinci Bagaimana Mengeluarkan Setiap Elemen Nth dengan Cekap dari Senarai dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber: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