Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Kita Boleh Menghapuskan Elemen Pendua Berturut-turut daripada Senarai dalam Python?

Bagaimanakah Kita Boleh Menghapuskan Elemen Pendua Berturut-turut daripada Senarai dalam Python?

Linda Hamilton
Lepaskan: 2024-12-01 01:12:11
asal
237 orang telah melayarinya

How Can We Eliminate Consecutive Duplicate Elements from a List in Python?

Menghapuskan Pendua Berturut-turut dalam Elemen Senarai: Melangkaui Pembuangan Mudah kepada Penghapusan Elemen

Walaupun pendekatan awal berjaya mengalih keluar pendua berturut-turut daripada elemen senarai, ia gagal untuk menghapuskan unsur-unsur itu sendiri. Untuk mencapai matlamat ini, strategi yang lebih halus diperlukan.

Penyelesaian yang disediakan melalui itertools.groupby() menawarkan pendekatan yang cekap. Ia mengumpulkan elemen berturut-turut dan mengembalikan kunci untuk setiap kumpulan. Dengan memilih kekunci, kami boleh mendapatkan semula elemen unik dalam senarai:

L = [1,1,1,1,1,1,2,3,4,4,5,1,2]
from itertools import groupby
[key for key, _group in groupby(L)]
Salin selepas log masuk

Untuk bahagian kedua soalan, di mana matlamatnya adalah untuk menghapuskan elemen dengan pendua berturut-turut, kod yang diubah suai dalam kumpulanby( ) pernyataan menangani keperluan ini:

[k for k, g in groupby(L) if sum(1 for i in g) < 2]
Salin selepas log masuk

Pendekatan ini menggunakan ungkapan penjana untuk mengira bilangan elemen dalam setiap kumpulan. Dengan memilih kunci untuk kumpulan yang kurang daripada dua elemen, kami menghapuskan pendua berturut-turut dengan berkesan. Hasilnya ialah penyelesaian yang ringkas dan elegan.

Atas ialah kandungan terperinci Bagaimanakah Kita Boleh Menghapuskan Elemen Pendua Berturut-turut daripada Senarai dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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