Mengalih keluar Elemen daripada Senarai Semasa Lelaran
Apabila mengulang senarai dalam Python, adalah penting untuk mengetahui cara mengalih keluar item yang memenuhi spesifikasi tertentu kriteria. Walau bagaimanapun, percubaan untuk mengubah suai senarai semasa melelaran boleh menimbulkan isu.
Dilema
Pertimbangkan blok kod berikut:
for tup in somelist: if determine(tup): # How do I remove 'tup' here?
Bagaimana boleh anda mengeluarkan tup daripada senarai sambil mengekalkan iterator?
Penyelesaian
Terdapat beberapa penyelesaian untuk masalah ini:
1. Pemahaman Senarai
somelist = [x for x in somelist if not determine(x)]
Kaedah ini mencipta senarai baharu yang mengandungi hanya elemen yang tidak perlu dialih keluar.
2. Slice Assignment
somelist[:] = [x for x in somelist if not determine(x)]
Tugasan ini mengubah senarai sedia ada untuk hanya mengandungi elemen yang dikehendaki.
3. Itertools
from itertools import filterfalse somelist[:] = filterfalse(determine, somelist)
Pendekatan ini menggunakan fungsi filterfalse Python untuk menapis elemen yang tidak diingini.
Nota Tambahan
Atas ialah kandungan terperinci Bagaimana untuk Mengalih keluar Elemen dengan Selamat dari Senarai Semasa Mengulang dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!