Python - Liste ve Tupple

Buket Yüce
4 min readJun 17, 2022

--

Merhaba, ben Buket.

SistersLab’in Toplum Gönüllüleri Vakfı (link:https://www.tog.org.tr/en/) tarafından desteklenen Women in Tech Academy proje katılımcılarından biriyim. Proje, 20–28 yaş aralığındaki 25 kadını 3 ay boyunca yazılım eğitimleriyle güçlendirerek sektörde iş gücüne katılımını hedefliyor.Projeyle ilgili daha fazla bilgiye bu linkten ulaşabilirsiniz: https://sisterslab.co/women-in-tech-academy/

Proje katılımcıları olarak ele alınan konuları medium hesaplarımızda paylaşacağız.

Bu yazı kapsamında Liste ve Tuple yapılarını ele alacağım. Kısaca her iki yapıya da değinerek başlamak istiyorum.

  • Liste: sıralanabilir ve değiştirilebilir dizelerdir. Bu tarz dizelere aynı üyeler tekrar eklenebilir.
  • Tuple: sıralanabilir ancak değiştirilemez dizelerdir. Aynı üyeler birden fazla eklenebilir.

LİSTE:

Bir liste elde etmek için, öğeleri birbirinden virgülle ayırıp, bunların hepsini köşeli parantez [] içine alıyoruz.

bos_liste = []
type(bos_liste) #list

Aynı veri tiplerini veya farklı veri tiplerini listeler içinde saklayabiliriz

liste1 = [1,2,3,4,5]liste2 = [1,2,3,4,5, "Ankara", "Balıkesir", "İstanbul"]

Listenin Elemanlarına Ulaşma

Listede bulunan bir elemana ulaşmak için sıra numarasını köşeli parantez içinde belirtiriz. İlk eleman 0 (sıfır) kabul edilir. Python’da köşeli parantez içinde negatif sıra numarası da belirtebilirsiniz. Bu şekilde kullanıldığında sondan kaçıncı nesne ise o görüntülenecektir.

hayvanlar = ["kedi", "kuş", "köpek", "balık"]
print(hayvanlar[1]) #kuş
print(hayvanlar[-1]) #balık

(0 = kedi, 1 = kuş, 2 = köpek, 3=balık)

(-1=balık, -2=köpek, -3=kuş, -4=kedi)

Bir listenin belli elemanlarını aralık belirterek alabilirsiniz. Alınan aralık yeni bir liste olarak dönecektir.

meyveler = ["elma", "muz", "kiraz", "portakal", "kivi", "karpuz"]print(meyveler[2:5]) # ['kiraz', 'portakal', 'kivi']print(meyveler[:4])  #['elma', 'muz', 'kiraz', 'portakal']print(meyveler[4:])  #['kivi', 'karpuz']

Listede Bir Değeri Değiştirme

Listede istediğimiz değeri değiştirebiliriz. Bir değeri değiştirmek için önce değişkenin adının sağına köşeli parantez arasında sıra numarası (index) yazılır, ardından eşittir kullanılarak yeni değer yazılır.

liste = ["elma", "muz", "armut"]
liste[0] = "mandalina"
print(liste) # ['mandalina', 'muz', 'armut']

len()

Listelerin eleman sayısı yani boyutu len() fonksiyonu ile tespit edilebilir.

liste = ["elma", "muz", "kiraz"]print(len(liste)) #3

append()

Listeye yeni bir değer eklemek için append() fonksiyonundan faydalanabiliriz. Değer, listenin en sonuna eklenecektir.

liste = ["elma", "muz", "kiraz"]
liste.append("kavun")
print(liste) #['elma', 'muz', 'kiraz', 'kavun']

insert()

Eğer dize içerisinde belli bir sıraya değer eklenecekse insert() fonksiyonundan faydalanılır. Fonksiyonda kullanılacak iki parametreden biri kaçıncı sıraya yerleştirileceği, diğeri ise eklenecek değerdir.

liste = ["elma", "muz", "kiraz"]
liste.insert(1, "kavun")
print(liste) #['elma', 'kavun', 'muz', 'kiraz']

Listeden Bir Değeri Silmek

Bunun için remove() fonksiyonu kullanılır. Parantez içinde silinecek değer belirtilir.

liste = ["elma", "muz", "kiraz", "kavun"]
liste.remove("kavun")
print(liste) #['elma', 'muz', 'kiraz']

Eğer listenin belli bir sırasındaki nesneyi sileceksek pop() fonksiyonundan faydalanabiliriz. Parantez içinde sıra numarası belirtebiliriz. Eğer hiçbir şey belirtmezsek dizenin en sonundaki nesne silinir.

liste = ["elma", "muz", "kiraz", "kavun"]
liste.pop()
print(liste) #['elma', 'muz', 'kiraz']

Listenin tamamını silmek isterseniz clear() yöntemini kullanabilirsiniz.

meyveler = ["armut", "kiraz", "çilek"]
meyveler.clear()
print(meyveler) # []

İki Listeyi Birleştirme

artı (+) operatörünü kullanabiliriz.

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list3 = list1 + list2
print(list3) #['a', 'b', 'c', 1, 2, 3]

Diğer bir yöntem extend() yöntemini kullanmaktır.

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list1.extend(list2)
print(list1) #['a', 'b', 'c', 1, 2, 3]

Bu yazı kapsamında sıkça kullanılan bazı metotları ele aldım. Diğer metotlara da göz atmak isteyebilirsiniz. Python da bir yapıya uygulanabilecek olan metotları öğrenmenin kolay bir yolu vardır.

dir(list)['__add__', '__class__', '__contains__', '__delattr__', '__delitem__',
'__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
'__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__',
'__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__',
'__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__',
'__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__',
'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop',
'remove', 'reverse', 'sort']
  • append(): Liste’nin sonuna eleman ekler
  • clear(): Listedeki tüm elemanları siler
  • copy(): Listenin kopyasını oluşturur
  • count(): Herhangi bir elemanın listedeki adetini çıkartır.
  • extend(): Listeleri başka bir liste veya elemanla genişletmemizi sağlar
  • index(): Belirtilen elemanın listedeki yerini verir
  • insert(): İstediğimiz konuma eleman eklememizi sağlar
  • pop(): İstenilen elemanı silmemizi sağlar
  • remove(): İstenilen değerdeki elemanı silmemizi sağlar
  • reverse(): Liste sıralaması tersten oluşturur
  • sort(): Listeyi sıralar

Tuple

Python’daki liste türlerinden bir diğeri tuple dir. Listelerden farklı olarak değiştirilemez, ilk tanımlandığı şekilde kalır. Bu dizelere ekleme, silme, sıra (index) değiştirme işlemi de yapılamaz.

İlk tanımlama yapılırken tuple nesnelerine parantez içinde yer verilir.

meyveler = ("muz", "elma", "kiraz")
print(meyveler)

type(meyveler) #tuple

Listeler için bahsetmiş olduğum; nesnelere erişim, tersten erişim, aralık belirtme vb. özellikler tuple için de geçerlidir.

dersler = ("Matematik", "Türkçe", "Fizik", "Kimya", "Müzik" )

dersler[3] # 'Kimya'
dersler[:2] # ('Matematik', 'Türkçe')
dersler[2:] # ('Fizik', 'Kimya', 'Müzik')
dersler[-4] # 'Türkçe'

Tıpkı listelerde olduğu gibi len() metodu ile tuple’ın uzunluğunu bulabiliriz.

dersler = ("Matematik", "Türkçe", "Fizik", "Kimya", "Müzik" )len(dersler) # 5

Tuple Değerleri Değiştirmek

Tuple içindeki değerler değiştirilemez. Bu tarz bir işlem yapmak için öncelikle tuple list türüne dönüştürülmeli, ardından değişiklik yapıldıktan sonra yeni bir tuple oluşturulmalıdır.

x = ("muz", "elma", "kiraz")
y = list(x)
y[1] = "portakal"
x = tuple(y)

print(x) #('muz', 'portakal', 'kiraz')

Tek Elemanlı Tuple Oluşturmak

Eğer tuple türü dizemiz içinde tek bir eleman olacaksa tanımlarken ilk nesneden sonra virgül kullanılmalıdır. Bu kullanılmazsa string türde bir değişken elde edilmiş olur.

A = ("elma",)
print(type(A)) #<class 'tuple'>


B = ("elma")
print(type(B)) #<class 'str'>

Birden Fazla Tuple Birleştirmek

Bu işlem için artı (+) operatörünü kullanabiliriz.

tuple1 = ("a", "b" , "c")
tuple2 = (1, 2, 3)
tuple3 = tuple1 + tuple2
print(tuple3) # ('a', 'b', 'c', 1, 2, 3)

Özetleyecek olursak:

  1. Tuple ve listeler Python dilinin iki benzer dizisidir.
  2. Tuple değişmezdir, yani yaratıldıktan sonra değiştirilemezler; oysa liste değişebilen bir dizidir. Oluşturulduktan sonra değiştirilebilir ve ek işlemleri de destekler.
  3. Tuple parantez ile gösterilirken, listeler köşeli parantez ile gösterilir.
  4. Listeler homojenken, tuple heterojendir.
  5. Tuples yapıyı gösterirken listeler düzeni gösterir.

Vakit ayırıp okuduğunuz için teşekkürler, umarım faydalı olmuştur. Bir sonraki yazıda görüşmek dileğiyle.🤩👋🏻

--

--

Buket Yüce

I’m interested in Data Science and Analytics. I have motivated to learn, grow, and excel in Data Science.