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
350 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!

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