Slice () işlevi, dizeleri, listeleri, tuple vs. dilimlemek için kullanılabilen bir dilim nesnesi döndürür.
Dilim nesnesi, belirli bir diziyi (dize, bayt, tuple, liste veya aralık) veya dizi protokolünü (uygulamalar __getitem__()
ve __len__()
yöntem) destekleyen herhangi bir nesneyi dilimlemek için kullanılır .
Sözdizimi slice()
şöyledir:
dilim (başlat, durdur, adım)
dilim () Parametreler
slice()
üç parametre alabilir:
- start (isteğe bağlı) - Nesnenin dilimlenmesinin başladığı yerde başlayan tam sayı. Sağlanmazsa varsayılan olarak
None
ayarlanır. - stop - Dilimlemenin gerçekleşeceği tam sayı. Dilimleme, -1 dizin durağında (son eleman) durur .
- step (isteğe bağlı) - Dilimleme için her dizin arasındaki artışı belirleyen tamsayı değeri. Sağlanmadıysa varsayılanlar
None
.
Örnek 1: Dilimleme için bir dilim nesnesi oluşturma
# contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))
Çıktı
dilim (Yok, 3, Yok) dilim (1, 5, 2)
Burada result1
ve result2
dilim nesneleridir.
Artık dilim nesnelerini biliyoruz, şimdi dilim nesnelerinden alt dizeyi, alt listeyi, alt demeti vb. Nasıl elde edebileceğimizi görelim.
Örnek 2: Dilim nesnesini kullanarak alt dizeyi alın
# Program to get a substring from the given string py_string = 'Python' # stop = 3 # contains 0, 1 and 2 indices slice_object = slice(3) print(py_string(slice_object)) # Pyt # start = 1, stop = 6, step = 2 # contains 1, 3 and 5 indices slice_object = slice(1, 6, 2) print(py_string(slice_object)) # yhn
Çıktı
Pyt yhn
Örnek 3: Negatif dizin kullanarak alt dizeyi alın
py_string = 'Python' # start = -1, stop = -4, step = -1 # contains indices -1, -2 and -3 slice_object = slice(-1, -4, -1) print(py_string(slice_object)) # noh
Çıktı
hayır
Örnek 4: Alt listeyi ve alt listeyi alın
py_list = ('P', 'y', 't', 'h', 'o', 'n') py_tuple = ('P', 'y', 't', 'h', 'o', 'n') # contains indices 0, 1 and 2 slice_object = slice(3) print(py_list(slice_object)) # ('P', 'y', 't') # contains indices 1 and 3 slice_object = slice(1, 5, 2) print(py_tuple(slice_object)) # ('y', 'h')
Çıktı
('P', 'y', 't') ('y', 'h')
Örnek 5: Negatif dizini kullanarak alt listeyi ve alt diziyi alın
py_list = ('P', 'y', 't', 'h', 'o', 'n') py_tuple = ('P', 'y', 't', 'h', 'o', 'n') # contains indices -1, -2 and -3 slice_object = slice(-1, -4, -1) print(py_list(slice_object)) # ('n', 'o', 'h') # contains indices -1 and -3 slice_object = slice(-1, -5, -2) print(py_tuple(slice_object)) # ('n', 'h')
Çıktı
('n', 'o', 'h') ('n', 'h')
Örnek 6: Dilimleme için Dizin Oluşturma Sözdizimini Kullanma
Dilim nesnesi, Python'daki dizinleme sözdizimi ile değiştirilebilir.
Alternatif olarak dilimleme için aşağıdaki sözdizimini kullanabilirsiniz:
obj (başlangıç: durdurma: adım)
Örneğin,
py_string = 'Python' # contains indices 0, 1 and 2 print(py_string(0:3)) # Pyt # contains indices 1 and 3 print(py_string(1:5:2)) # yh
Çıktı
Pyt yh