CodeBlanks Logo Icon CodeBlanks

islice

islice ile dilimlemeyi öğrenirsin.

islice

islice(iterable, stop) ya da islice(iterable, start, stop, step) bir yinelenebilir nesnenin bir bölümünü alır. Liste dilimlemeye benzer ama yineleyiciler üzerinde de çalışır; ara liste üretmez.

Örnek: list(islice(range(10), 3)) çağrısı [0, 1, 2] döner. list(islice(range(10), 2, 8, 2)) çağrısı [2, 4, 6] döner. Negatif indeks desteklenmez; bu, liste diliminden farklı bir kısıtlamadır.

Bellek avantajı

islice, büyük veri akışlarında bellek avantajı sağlar. Örneğin bir dosyadan satır satır okurken islice(file, 100) ile ilk 100 satırı alabilirsin; tüm dosyayı belleğe yüklemeden.

Benzer şekilde sonsuz yineleyicılarda islice(count(1), 10) ile ilk 10 öğeyi güvenle alabilirsin. list() ile sarınca sonuç listeye dönüşür; ama sarmadan yalnızca döngüde kullanırsan bellek tüketimi minimum kalır.

Uygulama islice ile ilk üçü al

from itertools import islice ile başla. result = list(islice(range(10), 3)) ile range'in ilk üç öğesini al. Sonra print(result) ile yazdır.

Başlangıç kodu

main.py
# islice ile range'in ilk üç öğesini al

Örnek çözüm

main.py
# islice ile range'in ilk üç öğesini al
from itertools import islice

result = list(islice(range(10), 3))
print(result)

Beklenen çıktı

[0, 1, 2]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 islice ne zaman tercih edilir?

  • Yineleyiciler üzerinde dilimlemek için Doğru cevap
  • Negatif indeks gerektiğinde
  • Yalnızca listelerde
  • Yeni liste oluşturmak için

Açıklama: islice yineleyiciler üzerinde dilimleme yapar; liste üretmez.

2 islice çağrısı

Soru
from itertools import islice

result = list(____(range(10), 3))
print(result)
Cevap
from itertools import islice

result = list(islice(range(10), 3))
print(result)

Açıklama: islice yineleyici dilimler.

3 islice parçalarını eşleştir

Kavram Anlamı
islice Dilimleme işlevi
range(10) Yinelenebilir
stop Bitiş indeksi
step Adım

Orta seviye bölümündeki tüm dersler