Python Dilimleme

Python Dilimleme
Python Dilimleme
0

Python, veri üzerinde hızlı ve etkili işlemler yapabilmek için oldukça güçlü bir dilimleme (slicing) mekanizması sunar. Dilimleme, özellikle diziler (listeler), stringler ve diğer sıralı veri yapılarıyla çalışırken kullanışlı bir özelliktir. Bu özellik sayesinde, büyük veri setlerinden belirli kısımları kolayca alabilir, verileri manipüle edebilir ve hatta tersine çevirebilirsiniz. Python dilinde dilimleme, veri üzerinde daha kısa ve okunabilir kodlar yazmamıza olanak tanır, bu da hem yazılım geliştiricilerin işini kolaylaştırır hem de kodun verimli çalışmasını sağlar.

 

Python Dilimleme (Slicing) Nedir?

Dilimleme, sıralı veri yapılarını (listeler, stringler, tuple’lar vb.) belli bir aralıkla kesmek veya alt diziler elde etmek için kullanılan bir tekniktir. Python’da dilimleme işlemi, genellikle şu üç parametreyi kullanarak yapılır:

  • start (başlangıç): Alınacak verinin başladığı indeks.
  • stop (bitiş): Alınacak verinin bittiği indeks (ancak bu indeks dahil edilmez).
  • step (adım): Diziden atlanacak adım sayısı. Bu parametre opsiyoneldir, ancak veri üzerinde belirli aralıklarla seçim yapmak için kullanılır.

 

Python Dilimlemenin Kullanım Alanları

Dilimleme, Python programlamasında çok yaygın olarak kullanılan ve pek çok farklı alanda işe yarayan bir tekniktir. İşte bazı yaygın kullanım alanları:

  1. Veri Manipülasyonu: Veri analizi ve işleme sırasında belirli bir aralıkta veriye erişmek ve üzerinde işlem yapmak için kullanılır.
  2. String İşlemleri: Bir metnin belirli bir kısmını almak, ters çevirmek veya dilimlemek için kullanılır.
  3. Liste İşlemleri: Listelerde belirli bir alt listeyi almak, diziyi tersine çevirmek veya düzenli aralıklarla seçim yapmak için kullanılır.
  4. Veri Temizleme: Veritabanlarından veya dosyalardan alınan veri üzerinde filtreleme yaparken dilimleme çok kullanışlıdır.
  5. Karmaşık Veri Yapılarıyla Çalışma: Çok boyutlu diziler veya listelerde belirli bir alt küme veya eleman grubu almak için dilimleme işlemi yaygın olarak kullanılır.

Dilimleme, verileri hızlı ve etkili bir şekilde kesmek, alt kümeler oluşturmak veya belirli bir kısmı üzerinde işlem yapmak için en pratik yöntemlerden biridir. Python’da dilimleme işlemi, çoğu zaman for döngülerine kıyasla çok daha kısa ve hızlıdır. Bu, hem kodun okunabilirliğini artırır hem de kodun çalışma süresini kısaltabilir.

Örneğin, bir liste üzerinde belirli bir aralıkta işlem yapmak istediğimizde, dilimleme sayesinde sadece o aralıktaki verilere erişebiliriz. Bu, zaman ve bellek açısından verimlilik sağlar. Ayrıca, negatif indeksleme veya tersine çevirme (step=-1) gibi gelişmiş dilimleme özellikleri, daha önce karmaşık olan işlemleri çok daha basit hale getirir.

 

Python Dilimleme

 

Dilimleme syntax Yapısı

Dilimleme işlemleri, üç ana parametreyi içerir:

  • start: Başlangıç indeksini belirtir (dahil edilir).
  • stop: Bitiş indeksini belirtir (dahil edilmez).
  • step: Aradaki adım miktarını belirler (isteğe bağlı).

 

Bunu bir örnekle açıklayalım:

  • start: 2 (dahil edilir)
  • stop: 7 (dahil edilmez)
  • step: 2 (her iki elemandan birini alır)

Burada, 2. indeksten başlayıp 7. indekse kadar olan elemanlardan her iki elemandan birini alıyoruz.


Alt Liste (Subset) Nedir?

Dilimleme işlemi sırasında bir liste veya sıralı veri yapısının belirli bir kısmını seçip işlem yaptığımızda, bu seçilen kısım bir alt kümedir (subset). Bu alt kümeyi yeni bir veri yapısı olarak kullanabiliriz veya üzerinde işlemler yapabiliriz.

  • Ana Küme (Original Data): Tüm liste veya veri yapısı.
  • Alt Küme (Subset): Dilimleme işlemiyle elde edilen parça.

 

Bunu bir örnekle açıklayalım:

Kod Çıktısı:

Bu örnekte, numbers[2:6] ifadesi ana listenin bir alt kümesini oluşturur. Alt küme, orijinal dizideki 2. indeksten başlayarak 6. indekse kadar olan elemanları içerir (6. indeks hariç).


Başlangıç ve Bitiş Belirleme

Eğer sadece başlangıç ve bitiş indekslerini belirtirseniz, step parametresi atlanır ve aradaki tüm elemanlar alınır.

Aşağıdaki örnekte 2. indexten başlayıp 5. indekse kadar olan elemanları aldık. 5. indeks dahil olmadığı için son eleman 50’dir.


Sadece Başlangıç veya Sadece Bitiş Belirleme

Başlangıç Belirleme: Eğer sadece başlangıç indeksini belirtirseniz, dizinin o noktadan sonrasını alırsınız.

Bitiş Belirleme: Eğer sadece bitiş indeksini belirtirseniz, dizinin başından o noktaya kadar olan elemanları alırsınız.


Adım Belirleme: start:stop:step

Adım (step) parametresi, diziden alınacak elemanlar arasındaki boşluğu belirler. Varsayılan olarak step=1‘dir, ancak farklı bir adım değeri belirtmek, belirli aralıklarla elemanlar almak için kullanılabilir.

Aşağıdaki örnekte step=2 olarak ayarlandığı için, 1. indeksten başlayıp 8. indekse kadar olan elemanlardan her iki eleman birer birer alınıyor.


Diziyi Tersine Çevirme

Diziyi tersine çevirmek için en yaygın kullanılan dilimleme özelliğidir. start ve stop parametreleri atlanarak sadece step=-1 kullanılır. Bu, diziyi son elemana gidene kadar tersine iter. Parametresi [::-1] şeklindedir.


Negatif İndeksler Kullanma

Python’da negatif indeksler, dizinin sonundan başlayarak elemanlara erişim sağlar. -1 son elemanı, -2 sondan bir önceki elemanı ifade eder.

Dizinin sonuna doğru sayarak -4 ile -1 arasındaki elemanları aldığımız bir kod yazalım.


Boş Dilimleme

Bir diziyi tamamen kopyalamak için [:] kullanabilirsiniz. Bu yöntem, dizinin tüm elemanlarını alır ve yeni bir liste oluşturur.


İleri ve Geri Sıralama Kombinasyonu

Bazı durumlarda, dilimleme özelliklerini birleştirerek çok daha karmaşık seçimler yapılabilir. Örneğin, dizinin ilk yarısını alıp tersine çevirmek.


Sadece Adım Kullanma

Dizinin tüm elemanlarını almak, ancak her step‘te bir eleman almak istiyorsanız, sadece step parametresini kullanabilirsiniz.


Büyük ve Küçük Dilimleme

Dizinin başlangıç ve bitiş indeksleri üzerinde oynayarak, dizinin alt listelerini elde edebiliriz. Ayrıca step parametresiyle sadece belirli aralıklarla seçimler yapılabilir.

Paylaş

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


ReCAPTCHA doğrulama süresi sona erdi. Lütfen sayfayı yeniden yükleyin.