Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengeluarkan Item dengan Selamat dari Senarai Semasa Mengulang dalam Python?

Bagaimana untuk Mengeluarkan Item dengan Selamat dari Senarai Semasa Mengulang dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-12-25 06:10:16991semak imbas

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

Penyingkiran Berulang Item daripada Senarai

Masalah

Membalas melalui senarai tupel dalam Python, cuba mengalih keluar elemen berdasarkan kriteria tertentu:

for tup in somelist:
    if determine(tup):
         # How to remove 'tup'?

Penyelesaian

Untuk mengalih keluar item semasa lelaran, satu pendekatan melibatkan mencipta senarai baharu yang mengandungi hanya elemen yang diingini:

somelist = [x for x in somelist if not determine(x)]

Sebagai alternatif, menugaskan kepada slice somelist[:] memutasi senarai sedia ada:

somelist[:] = [x for x in somelist if not determine(x)]

Untuk terus mutasi, modul itertools menyediakan fungsi filterfalse:

  • Python 2:
from itertools import ifilterfalse
somelist[:] = ifilterfalse(determine, somelist)
  • Python 3:
from itertools import filterfalse
somelist[:] = filterfalse(determine, somelist)

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Item dengan Selamat dari Senarai Semasa Mengulang dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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