BİLGİ SAYAMIYORUM beta

Python'da listelere ekleme yapmak için "+" işaretini, insert, append ya da extend fonksiyonlarını kullanmanın farkları nelerdir?

0

Python listeler üstünde çok fazla işlem yapmaya başladıysanız, göreceğiniz üzere bazı durumlarda gerçekleştirmek istediğiniz şey için birden fazla yönteminiz oluyor. Listelere eklemek yapmak için de böyle bir çeşitliliğe sahipsiniz, zira bir listeye eleman eklemek için "+" işaretini, "+=" işaretini, insert, append ya da extend fonksiyonlarını kullanabilirsiniz. Ama ekleme şekli itibariyle birbirlerinden biraz değişiyorlar.

liste = [1, 8, 6, 4]
ekListe = [2, 9]

"+" kullandığınız zaman belirlediğiniz yeni liste iki içeriğin birleşmiş haline sahip oluyor. "+=" kullandığınız zaman ise asıl listeyi değiştirmiş oluyorsunuz.
İkisinin de sonucu aşağıdaki liste oluyor: 

yeniListe = liste + ekListe
liste += ekListe
>[1, 8, 6, 4, 2, 9]

append fonksiyonunu kullandığınız zaman, listenin sonuna direk bu içeriği yeni öğe olarak eklemiş oluyorsunuz, yani burada olduğu gibi append ettiğiniz şey bir liste ise, liste içinde liste oluşturmuş oluyorsunuz:

liste.append(ekListe)
>[1, 8, 6, 4, [2, 9]]

extend fonksiyonu ise verdiğiniz listenin içeriğini, "+" işaretinde olduğu gibi yeni listenin öğeleri ile genişletiyor:

liste.extend(ekListe)
>[1, 8, 6, 4, 2, 9]

insert ise append in aksine listenin sonuna değil de istediğiniz bir yerine ekleme yapmanızı sağlıyor, mesela burada 5. öğenin olması gereken yere "0" yerleştiriyorum:

liste.insert(4, 0)
>[1, 8, 6, 4, 0, 2, 9]

Toplama işlemi işe farklı bir sonuca ulaşabiliyorken, fonksiyonlar ile listeleri direk değiştirdiğimizi unutmayın. Ben hep ilk tanımladığım listeyi kullandığım için umarım örnekleri birbirlerinin devamı gibi düşünmezsiniz. 

BENZER 7

Kimse etkileşime girmemiş

ETİKETLER