Alıntı

Liste Gezerken Eleman Silmek

Sahipleri : Burak Bayramlı
Python ile bir listeyi gezdigimiz anda gezdigimiz listeden eleman silersek, gezme islemi negatif sekilde etkilenmis olacaktir
Python ile bir listeyi gezdigimiz anda gezdigimiz listeden eleman silersek, gezme islemi negatif sekilde etkilenmis olacaktir. Mesela soyle bir kod dusunelim:
list = [["1","1"], ["2","2"]]
for item in list:
  print item
  if ["1","1"] in list: list.remove(["1","1"])
Bu kod sadece ['1', '1'] sonucunu basacaktir, cunku gezme sirasinda bir eleman (['1', '1']) silinmistir, ve bu listeyi kucultmustur.
Eger silme isleminin gezme islemini etkilememesini istiyorsak, o zaman listenin bir "kopyasi" uzerinde gezinti yapmamiz lazim. Python'da kopya cikartmak icin clone, copy gibi cagrilar yerine bir operator kullaniliyor; bu operator [:] operatoru. O zaman:
list = [["1","1"], ["2","2"]]
for item in list[:]:
  print item
  if ["1","1"] in list: list.remove(["1","1"])

istedigimiz sonucu verecektir.
zafer.teker , 28.05.2018

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir

Misafir Yorumları




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir