Fungsi slice () mengembalikan objek slice yang dapat digunakan untuk memotong rentetan, senarai, tuple dll.
Objek slice digunakan untuk memotong urutan tertentu (string, byte, tuple, list atau range) atau objek apa pun yang menyokong urutan protokol (alat __getitem__()
dan __len__()
kaedah).
Sintaksnya slice()
adalah:
hirisan (mula, berhenti, langkah)
kepingan () Parameter
slice()
boleh mengambil tiga parameter:
- start (pilihan) - Memulakan bilangan bulat di mana pemotongan objek bermula. Lalai
None
jika tidak disediakan. - berhenti - Integer sehingga pemotongan berlaku. Potongan berhenti pada indeks berhenti -1 (elemen terakhir) .
- langkah (pilihan) - Nilai integer yang menentukan kenaikan antara setiap indeks untuk mengiris. Lalai
None
sekiranya tidak disediakan.
Contoh 1: Buat objek slice untuk dihiris
# contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))
Pengeluaran
hirisan (Tiada, 3, Tiada) hirisan (1, 5, 2)
Di sini, result1
dan result2
adalah objek kepingan.
Sekarang kita tahu tentang objek slice, mari kita lihat bagaimana kita dapat mendapatkan substring, sub-list, sub-tuple, dll dari objek slice.
Contoh 2: Dapatkan substring menggunakan objek slice
# 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
Pengeluaran
Pyt yhn
Contoh 3: Dapatkan substring menggunakan indeks negatif
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
Pengeluaran
tidak
Contoh 4: Dapatkan sublist dan sub-tuple
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')
Pengeluaran
('P', 'y', 't') ('y', 'h')
Contoh 5: Dapatkan sublist dan sub-tuple menggunakan indeks negatif
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')
Pengeluaran
('n', 'o', 'h') ('n', 'h')
Contoh 6: Menggunakan Sintaks Pengindeksan untuk Memotong
Objek slice boleh digantikan dengan sintaks pengindeksan di Python.
Anda boleh menggunakan sintaks berikut untuk memotong:
obj (mula: berhenti: langkah)
Sebagai contoh,
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
Pengeluaran
Pyt yh