Membalas senarai sambil mengalih keluar item secara serentak boleh menimbulkan cabaran. Satu senario biasa melibatkan percubaan untuk mengalih keluar item berdasarkan kriteria tertentu. Menentukan kaedah yang sesuai untuk penyingkiran item adalah penting dalam situasi sedemikian.
Pertimbangkan dua pendekatan yang cekap ini:
Buat yang baharu senarai yang mengandungi hanya elemen yang dikehendaki dengan menggunakan senarai kefahaman:
somelist = [x for x in somelist if not determine(x)]
Sebagai alternatif, ubah suai senarai sedia ada secara langsung dengan memberikan kepada slicenya:
somelist[:] = [x for x in somelist if not determine(x)]
Pendekatan ini berfaedah jika beberapa rujukan kepada somelist wujud dan perlu mencerminkan perubahan.
Itertools menyediakan pendekatan yang mudah juga:
Python 2:
from itertools import ifilterfalse somelist[:] = ifilterfalse(determine, somelist)
Python 3:
from itertools import filterfalse somelist[:] = filterfalse(determine, somelist)
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Item dengan Cekap dari Senarai Semasa Lelaran dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!