Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh mengekstrak Item N Pertama daripada Penjana atau Senarai dalam Python?

Bagaimanakah saya boleh mengekstrak Item N Pertama daripada Penjana atau Senarai dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-20 20:08:30735semak imbas

How Can I Extract the First N Items from a Generator or List in Python?

Bagaimana untuk Mendapatkan N Item Pertama daripada Penjana atau Senarai?

Dalam Python, terdapat pelbagai cara untuk mengekstrak unsur N pertama daripada senarai atau penjana. Jawapan ini memberikan penjelasan komprehensif tentang pendekatan yang berbeza, melukis persamaan dengan kaedah Ambil LINQ untuk rujukan.

1. Menghiris Senarai

Serupa dengan kaedah Ambil LINQ, anda boleh menghiris senarai dengan mudah menggunakan sintaks berikut:

<code class="python">top5 = array[:5]</code>

Notasi hirisan ini membolehkan anda menentukan indeks mula dan berhenti , serta nilai langkah pilihan. Anda boleh meninggalkan sebarang parameter untuk mendapatkan kepingan separa seperti:

  • susun[mula:]
  • susun[:stop]
  • susun[::step]

2. Menghiris Penjana

Tidak seperti senarai, penjana tidak boleh dihiris terus dalam Python. Sebaliknya, anda boleh menggunakan fungsi itertools.islice() untuk membalut penjana dalam penjana penghiris. Sintaksnya adalah seperti berikut:

<code class="python">import itertools
top5 = itertools.islice(my_list, 5) # grab the first five elements</code>

Ingat bahawa menghiris penjana sebahagiannya meletihkannya. Jika anda ingin mengekalkan keseluruhan penjana, pertimbangkan untuk menukarnya kepada tuple atau senarai dahulu:

<code class="python">result = tuple(generator)</code>

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengekstrak Item N Pertama daripada Penjana atau Senarai dalam Python?. 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