koddla

Yazılımcıları bilgi ile güçlendirir.

Python’da yineleme yapılırken listeden öğeler nasıl kaldırılır?

Python’daki listemizi for döngüsünde yineleyelim. Ve belirli bir kriteri karşılıyorlarsa bu öğeleri kaldırmak istediğimizi düşünelim:

for oge in bir_liste:
    if kriter(oge):
         ogeyi_kaldir

Bu şekilde öğeleri nasıl kaldırabiliriz?


Yalnızca kaldırmak istemediğiniz öğeleri içeren yeni bir liste oluşturabiliriz:

yeni_liste = [x for x in bir_liste if not kriter(x)]

Ya da, listeye dilimleme atayarak varolan listeyi yalnızca istediğiniz öğeleri içerecek şekilde değiştirebiliriz: bir_liste[:]

yeni_liste[:] = [x for x in bir_liste if not kriter(x)]

Üreteçleri kullanmak yerine, itertools modülünü de kullanabiliriz.

Python 2:

from itertools import ifilterfalse
yeni_liste[:] = filterfalse(kriter, bir_liste)

Python 3:

from itertools import filterfalse
yeni_liste[:] = filterfalse(kriter, bir_liste)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back to top