Apa itu mengiris string dengan python?

Python telah memperkenalkan beberapa metode operasi string yang memungkinkan pengambilan substring string. Salah satu operasi ini disebut Slice. Operator ini sangat serbaguna dan elegan secara sintaksis sehingga hanya dengan bantuan beberapa parameter, seseorang dapat mengambil banyak kombinasi substring dari sebuah string. Pemotongan string dalam pemrograman python adalah tentang mengambil substring dari string yang diberikan dengan mengirisnya dari indeks 'mulai' hingga indeks 'berhenti'

Lingkup artikel

  • Dalam topik ini, kami akan memperkenalkan diri kami slice() dengan Python
  • Kemudian kita akan membahas cara kerja pengindeksan dalam mengiris
  • Kami juga akan membahas penggunaan slice() dalam list dan tuple

mengiris()

Python memberi kita metode slice() yang membuat objek 'slice' yang berisi sekumpulan indeks 'start' & 'stop' dan nilai langkah. Untuk lebih spesifik tentang parameternya, ini adalah (start, stop, step)

Menurut dokumentasi resmi python tentang pemotongan string dengan python. Slice memiliki dua implementasi yang berbeda, yaitu. e. slice memiliki dua metode kelebihan, masing-masing mengambil dua set parameter yang berbeda

  • slice(stop) // mulai dari 0 & step dari 1

  • irisan (mulai, berhenti, langkah)

    • Mulailah. adalah indeks awal dari string tempat operasi pemotongan harus dilakukan. Ini menentukan dari mana pemotongan string akan 'dimulai'
    • berhenti. adalah indeks penghentian pemotongan, 'hingga' operasi pemotongan mana yang harus dilakukan, i. e, indeks berhenti dikecualikan saat membuat substring
    • melangkah. Ini adalah argumen opsional yang menentukan langkah-langkah saat mengulang daftar, mis. e. itu memungkinkan kita untuk melewati elemen

Kedua implementasi slice() mengembalikan objek dengan format slice(start, stop, end). (Periksa contoh-1)

Objek yang dikembalikan ini sekarang dapat digunakan untuk mengiris objek string, list, tuple, set, byte, atau range

Aplikasi

Contoh 1 – Mengambil substring menggunakan objek slice

s = "Welcome to scaler docs"
s1 = slice(6) # takes start as 0 automatically
print("s1-obj:", s1)
print("s1-res:", s[s1])
s2 = slice(2,8) # using slice(start, end, step) without step
print("s2-obj:", s2)
print("s2-res:", s[s2])
s3 = slice(1, 20, 2) # using slice(start, end, step) with step
print("s3-obj:", s3)
print("s3-res:", s[s3])

Keluaran

s1-obj: slice(None, 6, None)
s1-res: Welcom
s2-obj: slice(2, 8, None)
s2-res: lcome
s3-obj: slice(1, 20, 2)
S3-res: ecm osae o
_

Penjelasan

Slice() memiliki dua implementasi, satu dengan satu parameter dan satu lagi dengan tiga parameter. Implementasi dengan satu parameter mengambil indeks 'berhenti' sebagai satu-satunya dan parameter wajib sedangkan Implementasi dengan tiga parameter mengambil indeks 'mulai', indeks 'berhenti', dan nilai 'langkah' OPSIONAL juga

Dalam contoh di atas (periksa s1, s2 dan s3 di cuplikan kode & output)

  • Di s1. Kami pertama kali menggunakan slice() yang hanya membutuhkan satu parameter 'stop'. Dalam output, kami menerima substring sebagai "Welcom" karena indeks 'mulai' secara otomatis disetel ke '0' dan 'berhenti' disetel ke 6
  • Di s2. Setelah itu, kami menggunakan slice() dengan metode tiga parameter tetapi memilih untuk tidak memberikan parameter 'langkah' opsional. Dalam output, kami menerima substring dari indeks '2' hingga '7', karena kami menyediakan 'mulai' sebagai '2' & 'berhenti' sebagai '8'
  • Di s3. Kami mengimplementasikan slice() dengan 'step' juga. Seperti yang kami berikan 'langkah' sebagai 2. Dalam output, kami menerima substring dengan melanjutkan ke setiap elemen ke-2 mulai dari indeks 1 hingga 20

Oleh karena itu, sekarang jelas bahwa nilai 'langkah' menentukan dengan nilai apa iterator Anda (saat membentuk substring) akan maju atau bertambah

Catatan. memahami bahwa indeks 'berhenti' berarti tidak berhenti 'pada' ini atau 'setelah' indeks ini. Itu berhenti tepat sebelum indeks ini saat melakukan pemotongan. Sedangkan indeks 'mulai' termasuk dalam string yang diiris

Sintaks Pengindeksan

Sintaks pengindeksan sebuah slice adalah singkatan atau pengganti yang lebih baik dari slice() karena lebih mudah dipahami dan dijalankan. Ini adalah salah satu operasi dan sintaksis yang Anda hargai sebagai pengembang dan secara tidak sadar mencari untuk diterapkan dalam kode Anda karena ini benar-benar operasi yang keren

Sintaks Pengindeksan

Tali[mulai. berhenti. melangkah]

Jadi di sini, daripada membuat objek slice terlebih dahulu lalu mengimplementasikannya pada string, kita langsung menggunakan sintaks pengindeksan yang melakukan operasi yang sama

Replikasi Contoh-1 dengan sintaks pengindeksan

Contoh 2 – Sintaks pengindeksan untuk sebuah slice

s = "Welcome to scaler docs"
print("s1", s[:6])
print("s2", s[2 : 7]) # using indexing syntax for slice(start, end, step) without step
print("s3", s[1 : 20 : 2]) # using indexing syntax for slice(start, end, step)

Keluaran

s1 Welcom
s2 lcome
s3 ecm osae o 

Catatan

  • 'Langkah' tidak pernah bisa nol
  • Rangkaian[. . ] => mulai = 0, berhenti = panjang string, langkah = 1
  • Tali[2. . ] => mulai = 2, berhenti = panjang string, langkah = 1
  • Rangkaian[. 2. ] => mulai = 0, berhenti = 2, langkah = 1
  • Rangkaian[. 6] ATAU Tali[1. 6] => adalah sintaks yang valid karena 'langkah' adalah parameter opsional untuk operasi ini

Slice adalah operasi yang hanya membutuhkan tiga parameter, dan masih banyak lagi yang bisa dilakukan dengannya. Mari kita lihat beberapa contoh yang akan menjelaskan berbagai kasus penggunaan operator ini

Menggunakan indeks Negatif

Indeks 'Mulai' dan 'berhenti' dan langkahnya masing-masing dapat memiliki nilai negatif. Tapi apa dampak indeks negatif dan 'langkah' negatif pada pemotongan string dengan python? . Pertimbangkan gambar berikut yang memiliki string dan indeks yang ditandai di atas dan bawah

Catatan. Indeks di bagian bawah menunjukkan indeks negatif

Apa itu mengiris string dengan python?

Mari kita lihat bagaimana kita dapat mengambil substring menggunakan indeks negatif. Katakanlah kita harus mengambil skala substring. Asumsi

S = Selamat datang di scaler

Sintaks untuk mengambil substring menggunakan indeks negatif adalah. S[-6. -1] ATAU

sliceObject = irisan(-6, -1) => S[Objek slice]

(indeks -6 menunjuk ke elemen ke-6 dari akhir dan -1 ke elemen ke-1 dari akhir)

Catatan. Lihat gambar-1 beserta contohnya untuk memahami pemetaan indeks karakter

Contoh 3 – Mengambil substring menggunakan indeks negatif dan nilai langkah negatif

s = "Welcome to scaler"
# -x means xth element from the end.
print("indexing syntax without step:", s[-16 : -4])
# using step to fetch every 2nd character from start index until end index
print("indexing syntax with step:", s[-16 : -4 : 2])
# replicating above code using slice object
sliceObj = slice(-16, -4)
print("slice object without step:", s[sliceObj])
sliceObj = slice(-16, -4, 2)
print("slice object with step:", s[sliceObj])
_

Keluaran

indexing syntax without step: elcome to sc
indexing syntax with step: ecm os
slice object without step: elcome to sc
slice object with step: ecm os

Contoh 4 – Mengiris dengan indeks positif dan negatif

s = "Welcome to scaler"
s1 = s[3 : -7]
print("positive start index, negative end index:", s1)
# above slice operation can also be written as
s2 = s[-14 : 10]
print("negative start index, positive end index:", s2)
_

Keluaran

positive start index, negative end index: come to
negative start index, positive end index: come to

Membalikkan substring menggunakan 'langkah' negatif dalam sebuah irisan

Ada beberapa cara pemotongan string dengan python yang memungkinkan kita membalikkan string. Mengiris adalah salah satu cara yang memungkinkan kita membalikkan string. Parameter 'Langkah' dianggap kurang dari 0 saat membalikkan string

CATATAN. Saat membalikkan. 'langkah' < 0, 'mulai' > 'berhenti' dalam irisan(mulai, berhenti, langkah). Sedangkan saat tidak membalik. ketika 'langkah' > 0, startIndex < stopIndex dalam irisan (mulai, hentikan, langkah)

Mari kita lihat beberapa contoh bagaimana pembalikan dapat dilakukan dengan menggunakan slice

Contoh 5 – Membalikkan substring menggunakan langkah negatif

s = "welcome to scaler"
# reversing complete string
s1 = s[::-1]
print("s1:", s1)
# reversing complete string by stepping to every 2nd element
s2 = s[::-2]
print("s2:", s2)
# reversing from 10th index until start, 'stop' index here automatically will be till starting of the string
s3 = s[10::-1]
print("s3:", s3)
# reversing from end until 10th index, 'start' index will automatically be the first element
s4 = s[:10:-1]
print("s4:", s4)
# reversing from 16th index till 10th index
s5 = s[16:10:-1]
print("s5:", s5)
# this will return empty, as we're not reversing here. But NOTE that this 'start' cannot be greater than ‘stop’ until & unless we're reversing
s6 = s[11:2]
print("s6:", s6)
# reversing from 14th index from the end until 4th index from the end.
s7 = s[-4:-14:-1]
print("s7:", s7)
_

Keluaran

s1: relacs ot emoclew
s2: rlc teolw
s3:  ot emolew
s4: relacs
s5: relacs
s6:
s7: acs ot emo

Operasi irisan pada daftar dan tupel

Cara operasi 'irisan' bekerja pada daftar dan tupel mirip dengan cara kerjanya dengan string. String adalah kumpulan karakter berurutan di mana setiap karakter memiliki indeks yang sama; . Apa pun itu, pemotongan dapat dilakukan pada kumpulan elemen apa pun yang dipesan

Mari kita lihat beberapa contoh tentang mengiris set dan tupel untuk mengambil sub-daftar dan sub-tupel, masing-masing

Perhatikan gambar berikut

Apa itu mengiris string dengan python?

Catatan. Silakan merujuk ke Gambar-2 untuk memahami pemetaan elemen indeks dalam cuplikan kode di Contoh-6 & Contoh-7

Contoh 6 – Melakukan operasi irisan pada Daftar untuk mengambil sub-daftar

s1-obj: slice(None, 6, None)
s1-res: Welcom
s2-obj: slice(2, 8, None)
s2-res: lcome
s3-obj: slice(1, 20, 2)
S3-res: ecm osae o
_0

Keluaran

s1-obj: slice(None, 6, None)
s1-res: Welcom
s2-obj: slice(2, 8, None)
s2-res: lcome
s3-obj: slice(1, 20, 2)
S3-res: ecm osae o
_1

Contoh 7 – Melakukan operasi slice pada Tuple untuk mengambil sub-tuple

s1-obj: slice(None, 6, None)
s1-res: Welcom
s2-obj: slice(2, 8, None)
s2-res: lcome
s3-obj: slice(1, 20, 2)
S3-res: ecm osae o
_2

Keluaran

s1-obj: slice(None, 6, None)
s1-res: Welcom
s2-obj: slice(2, 8, None)
s2-res: lcome
s3-obj: slice(1, 20, 2)
S3-res: ecm osae o
_3

Jelas bahwa operasi irisan mengiris elemen koleksi. Koleksi di sini dapat dianggap sebagai urutan karakter yang membentuk string ATAU daftar elemen ATAU tupel elemen. Terlepas dari koleksi yang dipesan, Anda dapat melakukan pemotongan pada koleksi tersebut untuk mengambil sub-koleksi

Kesimpulan

Mari kita ingat singkatnya apa yang memotong string dengan python

  • Slice() adalah operasi yang cukup serbaguna yang memiliki banyak kombinasi untuk ditawarkan saat mengambil sub-koleksi dari koleksi
  • Slice memiliki dua sintaks yang berbeda
    • Di mana objek slice() dibuat i. e. irisan(berhenti) ATAU irisan(mulai, hentikan, langkah)
    • Lainnya adalah properti steno, i. e. Tali[mulai. stop], yang lebih mudah digunakan dan dijalankan
  • 'Mulai' menentukan indeks dari mana operasi irisan akan dimulai
  • 'Berhenti' menentukan indeks hingga pemotongan mana yang akan dilakukan. Elemen tepat sebelum indeks 'berhenti' harus dipertimbangkan
  • 'Langkah' menentukan langkah-langkah saat mengulang daftar i. e. itu memungkinkan kita untuk melewati elemen
  • Indeks dan langkah dapat memiliki nilai negatif

Jika kita mempertimbangkan analogi, mengiris string dengan python tidak berbeda dengan mengiris sepotong roti yang sebenarnya di dunia nyata. Perasaan dan operasi yang sama. Bukan?

Python memberi kita beberapa operator dan metode yang dapat dibaca secara sintaksis dan elegan, slice adalah salah satu contoh yang bagus. Ini memiliki banyak kombinasi hasil untuk ditawarkan, hanya jika kita belajar menerapkan dan menjalankan operator ini dan memanfaatkan parameternya. Pahami dan terapkan slice di mana pun diperlukan karena sintaks yang elegan menghasilkan kode yang bersih dan berkualitas

Apa artinya mengiris string?

Definisi. Slicing adalah proses mendapatkan bagian (substring) dari sebuah string dengan menggunakan indeksnya . Diberi string, kita dapat menggunakan template berikut untuk mengirisnya dan mendapatkan substring. string[mulai. end] start adalah indeks dari mana kita ingin substring dimulai.

Apa yang mengiris di Python dengan contoh?

Mengiris dengan Python adalah fitur yang memungkinkan pengaksesan bagian urutan seperti string, tupel, dan daftar . Anda juga dapat menggunakannya untuk mengubah atau menghapus item urutan yang dapat diubah seperti daftar. Slices juga dapat diterapkan pada objek pihak ketiga seperti array NumPy, serta seri Pandas dan bingkai data.

Apa yang dijelaskan pemotongan string dengan bantuan contoh?

Ini dikenal sebagai pemotongan string. Sintaks yang Anda gunakan terlihat sangat mirip dengan pengindeksan. Alih-alih hanya satu nilai yang dimasukkan ke dalam tanda kurung siku, Anda memasukkan dua nilai dengan titik dua (. ) di antara keduanya . Jadi dalam contoh ini, s adalah string dan m dan n adalah dua nilai.

Apakah pemotongan string penting dalam Python?

String adalah tipe data berbasis urutan, dan mengiris string memberikan lebih banyak fleksibilitas untuk mengerjakan data string karena pengindeksan hanya memfasilitasi .