Rumah >pembangunan bahagian belakang >Tutorial Python >Python - Dapatkan jumlah item senarai K terakhir menggunakan penghirisan
Dalam Python, kaedah penghirisan membolehkan kami mengekstrak elemen tertentu daripada jujukan seperti rentetan, senarai atau tupel. Ia menyediakan cara ringkas dan fleksibel untuk mengendalikan urutan dalam urutan yang lebih besar. Dalam artikel ini, kami akan meneroka cara mendapatkan jumlah elemen K terakhir dalam senarai menggunakan operasi penghirisan.
Untuk mencari jumlah item K terakhir dalam senarai, kita boleh mengikuti algoritma mudah:
Menerima senarai dan nilai K sebagai input.
Ekstrak item K terakhir daripada senarai menggunakan operator penghirisan.
Kira jumlah item yang diekstrak.
Kembalikan jumlah sebagai output.
sequence[start:end:step]
Di sini, kaedah hirisan menerima tiga parameter pilihan:
mula (pilihan): Indeks elemen tempat hirisan harus bermula. Jika tidak disediakan, ia lalai pada permulaan jujukan.
hujung (pilihan): Indeks (eksklusif) elemen di mana hirisan harus berakhir. Jika tidak disediakan, lalai pada penghujung jujukan.
langkah (pilihan): Nilai langkah atau kenaikan untuk memilih elemen Jika tidak disediakan, nilai lalainya ialah 1.
Nilai mula, akhir dan langkah boleh menjadi integer positif atau negatif, membolehkan anda melintasi jujukan dalam kedua-dua arah ke hadapan dan ke belakang.
Dengan menyatakan indeks negatif dalam kepingan, kita boleh bermula dari hujung senarai dan melintasi ke belakang. Berikut ialah sintaks untuk mendapatkan jumlah item senarai K terakhir menggunakan penghirisan:
Dalam contoh di bawah, kami mempunyai senarai my_list yang mengandungi 10 elemen Kami ingin mencari jumlah 4 item terakhir dalam senarai Dengan menggunakan operator slice [-K:], kami menentukan julat dari keempat−hingga −elemen terakhir ke penghujung senarai Fungsi sum() kemudian mengira jumlah elemen yang diekstrak, menghasilkan 280.
my_list = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100] K = 4 sum_of_last_k = sum(my_list[-K:]) print("Sum of last", K, "items:", sum_of_last_k)
Sum of last 4 items: 340
Fungsi ekor daripada modul koleksi ialah cara yang mudah untuk mengekstrak elemen N terakhir daripada urutan. Ia membolehkan anda mengelakkan penghirisan dengan indeks negatif.
Dalam contoh di bawah, kami mengimport kelas deque daripada modul koleksi dan menentukan panjang maksimum yang diperlukan (maxlen) sebagai N. Dengan menghantar senarai nombor dan maxlen=N ke deque, kami mencipta objek deque yang hanya memegang elemen N terakhir. Gunakan list(tail_elements) untuk menukar objek deque menjadi senarai, dan anda boleh mendapatkan elemen ekor [6, 7, 8, 9, 10].
from collections import deque numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] N = 5 tail_elements = deque(numbers, maxlen=N) print(list(tail_elements))
[6, 7, 8, 9, 10]
Fungsi islice daripada modul itertools membolehkan anda mengekstrak urutan tertentu daripada yang boleh diulang, seperti senarai atau rentetan, dengan memberikan nilai mula, henti dan langkah
Dalam contoh di bawah, kami mengimport fungsi islice dari modul itertools Dengan menghantar senarai nombor bersama-sama dengan nilai mula, henti dan langkah ke islice(nombor, mula, berhenti, langkah), kami mengekstrak urutan yang dikehendaki. [6 , 8, 10]. Menukarkan hasil kepada senarai menggunakan senarai(islice(...)) membolehkan kami mencetak jujukan
from itertools import islice numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] start = 5 stop = 10 step = 2 subsequence = list(islice(numbers, start, stop, step)) print(subsequence)
[6, 8, 10]
Dalam artikel ini, kami membincangkan cara menggunakan kaedah penghirisan untuk mendapatkan jumlah k item terakhir. Kaedah penghirisan menyediakan cara yang ringkas dan cekap untuk melakukan pengiraan sedemikian dan memudahkan untuk mendapatkan jumlah k item terakhir dalam senarai. Kaedah penghirisan juga boleh digunakan untuk tujuan lain seperti mengekstrak urutan, melangkau elemen dengan nilai langkah, membalikkan urutan, mendapatkan elemen k terakhir, dsb.
Atas ialah kandungan terperinci Python - Dapatkan jumlah item senarai K terakhir menggunakan penghirisan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!