Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Python - Dapatkan jumlah item senarai K terakhir menggunakan penghirisan

Python - Dapatkan jumlah item senarai K terakhir menggunakan penghirisan

WBOY
WBOYke hadapan
2023-09-06 11:17:061488semak imbas

Python - 使用切片获取最后K个列表项的总和

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.

Algoritma

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.

Tatabahasa

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.

Contoh 1: Cari jumlah item K terakhir menggunakan kaedah penghirisan

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)

Output

Sum of last 4 items: 340

Contoh 2: Menggunakan fungsi ekor dalam modul koleksi

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))

Output

[6, 7, 8, 9, 10]

Contoh 3: Menggunakan fungsi islice daripada modul itertools

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)

Output

[6, 8, 10]

Kesimpulan

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam