Odak modu

Veri Bilimi

Stringlerde İndexleme

Indexing (Elemanlara Erişme)


isim = "Deniz"
isim[1]


"Deniz"[1]



isim[0]


  • İkinci eleman için de [1]
isim[1]


  • Aynı şeyleri string'i bir değişkene atamadan da yapabilirdik
"Deniz"[0]


"Deniz"[1]


  • Son elemanı elde etmek için [-1] yazabiliriz
isim[-1]


  • Sondan ikinci için [-2]
isim[-2]


  • Deniz 5 karakterden oluşuyor. Indexleri 0,1,2,3,4. Eğer ben 4 ten büyük bir index verirsem o indexte bir elemanı olmadığı için hata alırım
len(isim)


isim[4]


isim[5]
---------------------------------------------------------------------------

IndexError                                Traceback (most recent call last)

<ipython-input-13-f0339b205fca> in <module>
----> 1 isim[5] 
IndexError: string index out of range
isim[10]
---------------------------------------------------------------------------

IndexError                                Traceback (most recent call last)

<ipython-input-15-f25549abd903> in <module>
----> 1 isim[10]
IndexError: string index out of range
  • Stringlerin elemanlarının değiştirilemez olduğundan bahsetmiştik (immutable). O yüzden şöyle şeyler yapamayız: (elemanlarını değiştirebildiğimiz non-scalar veri tiplerini de göreceğiz)
isim


isim[0] = "b"
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-17-59044b134158> in <module>
----> 1 isim[0] = "b"


TypeError: 'str' object does not support item assignment

Slicing (Dilimleme)


isim


# Burada önemli olan nokta ilk belirtilen indexing dahil edilip son olarak yazılanın dahil edilmemesi
# 0,1,2 indexlerindekileri döndürdü sonuç olarak

isim[0:3]


  • başlangıç:bitiş olarak veriyoruz ve bitiş olarak verdiğimiz index dahil olmuyor. Başlangıcı belirtmezsek Python default olarak başlangıç değerini 0 alıyor.
isim[:3]


  • Bitişi belirtmezseniz Python String'in sonuna kadar alıyor, bu sefer son elemanını da dahil ediyor.
isim[1:]


isim[0:]


isim[:]


  • Slicing yaparken bitiş olarak verdiğimiz değer en büyük indeximizden büyükse hata almayız, sadece sonuna kadar almış olur (sadece indexing yaparken en büyük indexten büyük değer verince hata alıyorduk.)
len(isim)


isim[1:20]


isim[1:200]


isim[1:]


  • başlangıç:bitiş olarak slicing yapabileceğimiz gibi, başlangıç:bitiş:adım formunda da slicing yapabiliriz. Burada adım parametresi kaçar kaçar gideceğimizi belirler.
isim


isim[0:10:2]


isim[0:10:3]


  • Adım eksi bir değer de olabilir. Böylece ters yönce gitmiş oluruz. Ama başlangıç değerinin bitiş değerinden büyük olması lazım bunu yapabilmem için.
# 0. indexten 10. indexe 2 azalarak gidemez, o yüzden boş string döndürür
isim[0:10:-1]


isim[10:0:-1]


isim[::-1]


isim[::-2]


Background Pattern
Birlikte öğrenelim

Sektörde en çok aranan yazılım becerilerini kazan

Yapay zeka desteği, birebir mentörlük saatleri, canlı dersler ve senin için özel hazırlanmış içeriklerle eksiklerini tamamla, düzenli geri bildirimler al ve öğrenme sürecini en verimli hale getir.

Yunus Emre Kabakcı

Patika+ mezunu

Patika+ Fullstack Web Development Bootcamp mezunumuz Yunus Emre,

3 ay içinde Katar’dan aldığı teklif ile, global bir şirket olan Pavo Group’da işe başladı!


“İçerik zenginliği, mentor desteği, ileriye dönük bir network sağlaması ve dünyada en çok tercih edilen frameworkler üzerinden bir eğitim veriyor olması Patika+’ı tercih etmemin temel sebepleri oldu!“

Test

Yorumlar

Yorum yapabilmek için derse kayıt olmalısın!