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
Lepaskan: 2024-12-25 06:10:16
asal
1001 orang telah melayarinya

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'?
Salin selepas log masuk

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)]
Salin selepas log masuk

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

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

Untuk terus mutasi, modul itertools menyediakan fungsi filterfalse:

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

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!

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