Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengalih Keluar Item dengan Selamat daripada Senarai Semasa Mengulang dalam Python?

Bagaimanakah Saya Boleh Mengalih Keluar Item dengan Selamat daripada Senarai Semasa Mengulang dalam Python?

Barbara Streisand
Lepaskan: 2024-12-28 10:45:12
asal
241 orang telah melayarinya

How Can I Safely Remove Items from a List While Iterating in Python?

Pengalihan Keluar Item Semasa Lelaran Senarai

Apabila melelaran senarai dalam Python, ia mungkin menjadi perlu untuk mengalih keluar item tertentu berdasarkan kriteria tertentu . Walau bagaimanapun, percubaan untuk mengalih keluar item secara langsung dalam lelaran boleh mengakibatkan tingkah laku yang tidak dijangka. Di sinilah keperluan untuk kaedah alternatif timbul.

Pemahaman Senarai

Satu penyelesaian ialah menggunakan pemahaman senarai, yang membolehkan penciptaan senarai baharu yang mengandungi hanya elemen yang dikehendaki. Contohnya:

somelist = [x for x in somelist if not determine(x)]
Salin selepas log masuk

Pemahaman ini mencipta senarai baharu yang merangkumi semua elemen somelist yang mana fungsi determine() dinilai kepada False.

Mutasi dengan Menghiris

Pendekatan lain ialah memutasi senarai sedia ada menggunakan kepingan. Dengan memberikan kepada somelist[:], senarai boleh diubah suai untuk mengandungi elemen yang boleh diterima sahaja:

somelist[:] = [x for x in somelist if not determine(x)]
Salin selepas log masuk

Kaedah ini mengekalkan rujukan senarai asal, menjadikannya berguna apabila bahagian lain program perlu mengakses senarai diubah suai.

Itertools

Dalam Python 2 atau 3, itertools boleh digunakan untuk mencapai hasil yang sama. Dalam Python 2:

from itertools import ifilterfalse
somelist[:] = ifilterfalse(determine, somelist)
Salin selepas log masuk

Dalam Python 3:

from itertools import filterfalse
somelist[:] = filterfalse(determine, somelist)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Item dengan Selamat daripada Senarai Semasa Mengulang 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