Bolehkah saya mendapatkan item N teratas daripada penjana atau senarai dalam Python?

Patricia Arquette
Lepaskan: 2024-10-20 20:03:30
asal
907 orang telah melayarinya

Can I retrieve the top N items from a generator or list in Python?

Mengambil N Item Teratas daripada Penjana atau Senarai dalam Python

Dalam soalan ini, pengguna bertanya tentang Python yang setara dengan LINQ arahan Take(5) untuk mendapatkan semula lima elemen pertama daripada tatasusunan. Untuk menangani permintaan ini, berbilang penyelesaian disediakan.

Menghiris Senarai

Senarai python boleh dihiris menggunakan sintaks berikut:

array[start:stop:step]
Salin selepas log masuk

Apabila setiap parameter boleh ditinggalkan, menghasilkan kepingan sah berikut:

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

Contohnya:

top5 = array[:5]
Salin selepas log masuk

Menghiris Penjana

Menghiris penjana secara langsung dalam Python tidak boleh dilakukan. Sebaliknya, fungsi itertools.islice() boleh digunakan, yang menerima sintaks berikut:

itertools.islice(generator, start, stop, step)
Salin selepas log masuk

Menggunakan itertools.islice(), anda boleh mendapatkan lima elemen pertama penjana:

import itertools
top5 = itertools.islice(my_list, 5)
Salin selepas log masuk

Pertimbangan Tambahan

Apabila menghiris penjana, anda harus ambil perhatian bahawa ia akan meletihkannya sebahagiannya. Untuk mengekalkan penjana yang utuh, pertimbangkan untuk menukarnya kepada tuple atau senarai dahulu, seperti:

result = tuple(generator)
Salin selepas log masuk

Atas ialah kandungan terperinci Bolehkah saya mendapatkan item N teratas daripada penjana atau 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!