Python mendukung pemotongan indeks negatif bersama dengan pemotongan positif. Indeks negatif dimulai dari -1 hingga -(iterable_length). Kami akan menggunakan pemotongan negatif untuk mendapatkan elemen dari akhir iterable
- Indeks -1 memberi Anda elemen terakhir dari iterable
- Indeks -2 memberi Anda elemen terakhir ke-2 dari iterable
- Dan itu berlanjut sampai elemen pertama
Mari kita lihat contohnya
name = 'Geekflare' print(name[-1]) print(name[-len(name)])Program di atas akan mencetak karakter terakhir dan pertama dari string menggunakan pengindeksan negatif
Bagaimana cara menghapus elemen terakhir dari string menggunakan pengirisan? . Kami tahu cara mengekstrak bagian dari string menggunakan pemotongan. Mari terapkan hal yang sama dengan indeks negatif untuk menghapus karakter terakhir dari string
- Iris string dari awal hingga terakhir sebelum elemen
Mari fokus pada baris kedua pada kode di atas. Itulah garis ajaib dalam kode. Sebagai irisan tradisional, ini mengekstraksi substring dari indeks awal hingga terakhir tetapi satu karena pemotongan mengabaikan elemen indeks kedua yang diberikan
Anda akan mendapatkan Geekflare sebagai output jika Anda menjalankan kode di atas
rstrip
Metode string rstrip menghapus karakter dari sisi kanan string yang diberikan padanya. Jadi, kita bisa menggunakannya untuk menghapus elemen terakhir dari string. Kita tidak perlu menulis lebih dari satu baris kode untuk menghapus karakter terakhir dari string
- Berikan elemen terakhir ke metode strip, itu akan mengembalikan string dengan menghapus karakter terakhir
Mari kita lihat cuplikan kodenya
buggy_name = 'GeekflareE' name = buggy_name.rstrip(buggy_name[-1]) print(name)Kami telah memberikan karakter terakhir dari string ke metode strip. Ini menghapus karakter terakhir dari string dan mengembalikan salinan tanpa karakter terakhir
Ini akan mencetak Geekflare di konsol, jika Anda menjalankannya
Contoh Praktis – hapus kata terakhir
Ya, kami akan menerapkan apa yang kami miliki di bagian sebelumnya dalam contoh praktis
Katakanlah kita memiliki file yang berisi banyak baris teks. Dan kita perlu menghapus kata terakhir dari setiap baris dalam file
Ikuti langkah-langkah di bawah ini untuk menulis program
- Buat file bernama random_text. txt dan halaman beberapa baris teks di dalamnya
- Inisialisasi variabel data sebagai string kosong
- Buka file menggunakan metode dengan dan buka dalam mode baca dan tulis
- Baca konten file menggunakan metode readlines
- Ulangi setiap baris konten
- Pisahkan baris teks menggunakan metode split dalam kata-kata
- Hapus kata terakhir menggunakan salah satu metode di atas
- Gabungkan hasilnya untuk membentuk string
- Tambahkan hasilnya ke variabel data
- Hapus data dari file menggunakan metode cari dan truncate
- Tulis data terbaru ke file menggunakan metode tulis
File tersebut berisi data berikut
Lihat kode di bawah ini
updated_data = '' # opening the file with open('random_text.txt', 'r+') as file: # read the file content file_content = file.readlines() # iterate over the content for line in file_content: # removing last word updated_line = ' '.join(line.split(' ')[:-1]) # appending data to the variable updated_data += f'{updated_line}\n' # removing the old data file.seek(0) file.truncate() # writing the new data file.write(updated_data)_Jika Anda menjalankan kode di atas dengan file yang diberikan, maka file tersebut akan memiliki data yang diperbarui berikut
Sangat mudah untuk mendapatkan karakter pertama dalam sebuah string, tetapi bagaimana Anda bisa mendapatkan n karakter pertama dari sebuah string?
Untuk mendapatkan lebih dari satu karakter dari sebuah string, Anda dapat menggunakan operator slice yang memiliki sintaks [start:stop:step]. Misalnya, untuk mendapatkan 5 karakter pertama dari variabel string >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'0 gunakan operator irisan sebagai berikut >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'1 atau untuk mendapatkan 5 karakter terakhir dari string gunakan >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'2
Mari kita lihat utilitas praktis yang disebut operator irisan ini dan lihat bagaimana utilitas ini cukup serbaguna untuk dapat menangkap apa pun yang Anda butuhkan dari sebuah string
Apa itu Operator Iris?
Operator irisan berisi tiga parameter untuk membantu menangkap karakter yang diperlukan dari sebuah string dan saya telah memberi label variabel ini dalam struktur sebagai [start:stop:step]
Parameter pertama ke sintaks operator irisan yang saya beri label sebagai >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'4 dan mewakili posisi indeks awal ketika penangkapan dimulai dari string sumber dan termasuk karakter itu. Parameter kedua yang saya beri label >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'_5 adalah posisi indeks akhir tangkapan dari string sumber dan tidak termasuk karakter itu. Terakhir, parameter ketiga yang saya beri label >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'6 adalah lompatan tangkapan dari awal hingga akhir pada frekuensi >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'6
Mari kita lihat contoh sederhana menggunakan kata unik yang memiliki frekuensi karakter unik tertinggi (tidak dapat dilindungi hak cipta)
>>> my_string = "Uncopyrightable >>> my_string[0:5:1] 'Uncop'Seperti yang Anda lihat dari contoh di atas, operator irisan dimulai pada referensi indeks >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'8 yang merupakan karakter pertama dalam sebuah string, dan tangkapan berlanjut hingga referensi indeks >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'9 (menjadi karakter keenam) tetapi tidak termasuk karakter itu. Terakhir, tangkapan dari awal hingga akhir menyertakan semua karakter karena lompatannya adalah >>> my_string = "Uncopyrightable" >>> my_string[:] 'Uncopyrightable'0. Variabel >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'_6 terakhir ini tidak diperlukan dan operasi irisan dari >>> my_string = "Uncopyrightable" >>> my_string[:] 'Uncopyrightable'2 akan menghasilkan hasil yang sama
Selain variabel >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'_6 memiliki nilai default, variabel >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'4 dan >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'5 juga memiliki pengaturan default jika tidak ditentukan
Lihat contoh berikut dan lihat apakah Anda dapat mengetahui apa yang terjadi jika tidak ditentukan dalam operasi irisannya
>>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'Apa yang terjadi jika Anda tidak mendefinisikan variabel >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'4 di operator slice?
Seperti yang Anda lihat dari contoh di atas, ini mengasumsikan penangkapan dimulai dari awal string dan berlanjut hingga ke posisi indeks >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'5
Apa yang terjadi jika Anda tidak mendefinisikan variabel >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'5 di operator slice?
Seperti yang juga dapat Anda lihat dari contoh di atas, ini mengasumsikan hasil tangkapan dari posisi indeks awal dan berlanjut hingga ke ujung string
Apa yang terjadi jika Anda tidak mendefinisikan variabel >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'4 dan >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'5 di operator irisan?
Jika Anda telah melihat pola dari contoh di atas, Anda seharusnya dapat menduga apa yang akan terjadi jika tidak ada yang ditentukan. Mari lihat apa yang terjadi
>>> my_string = "Uncopyrightable" >>> my_string[:] 'Uncopyrightable'Seperti yang diharapkan itu memulai penangkapan di awal dan berlanjut hingga akhir string
Jadi bagaimana operator irisan juga dapat digunakan untuk mendapatkan n karakter pertama dari sebuah string?
Cara Mendapatkan Karakter n_ Pertama Dari String
Jika Anda bisa mendapatkan karakter pertama dari sebuah string dengan Python menggunakan operator slice maka tidak perlu banyak imajinasi tentang bagaimana Anda bisa mengambil n karakter pertama
Variabel pertama dari operator irisan menetapkan tangkapan awal dan variabel kedua mengatur tempat penangkapan harus dihentikan (tidak termasuk karakter dari tangkapan)
Python Dapatkan Karakter Pertama Dari Str
Harap aktifkan JavaScript
Oleh karena itu untuk menangkap n_ karakter pertama dari sebuah string menggunakan operator slice, Anda akan menggunakan sintaks. >>> my_string = "Uncopyrightable" >>> my_string[:6] 'Uncopy'5
Berikut adalah beberapa contoh yang mendemonstrasikan kasus penggunaan ini di mana saya mencoba menangkap 6 karakter pertama dari sebuah string
>>> my_string = "Uncopyrightable" >>> my_string[:6] 'Uncopy'Seperti yang Anda lihat dari contoh di atas, menangkap 6 karakter pertama dari string asli menghasilkan hasil yang diinginkan
Jenis tangkapan ini menggunakan >>> my_string = "Uncopyrightable" >>> my_string[:6] 'Uncopy'_5 mungkin merupakan metode yang lebih disukai saat menemukan karakter pertama atau ke-n dari sebuah string karena kodenya cukup mudah dipahami
Cara Mendapatkan Karakter n_ Terakhir Dari String
Mirip dengan bagaimana Anda dapat menangkap kumpulan karakter pertama dari sebuah string, Python memungkinkan Anda menggunakan operator irisan untuk menangkap karakter ekor dalam sebuah string
Untuk menangkap n karakter terakhir dari sebuah string, gunakan operator irisan seperti itu
>>> my_string = "Uncopyrightable" >>> my_string[-3:] "ble"Seperti yang Anda lihat dari contoh di atas, tiga karakter terakhir diambil dari variabel >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'0 asli dengan menggunakan nilai negatif dalam parameter >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'4 dari operator slice
Ketika angka negatif digunakan baik dalam parameter >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'4 atau >>> my_string = "Uncopyrightable" >>> my_string[:5] 'Uncop' >>> my_string[10:] 'table'5 dari operator slice, karakter yang bersumber dihitung dari akhir string. Oleh karena itu, karakter terakhir dalam string dilambangkan sebagai nomor indeks >>> my_string = "Uncopyrightable" >>> my_string[-3:] "ble"3, yang kedua terakhir sebagai >>> my_string = "Uncopyrightable" >>> my_string[-3:] "ble"4 (dll)
Oleh karena itu, untuk menangkap n_ karakter terakhir dari string, gunakan operator slice dan sintaksnya
source_string[-n:]Dapatkan Karakter Pertama dan Terakhir
Untuk mendapatkan n karakter pertama dan terakhir dari sebuah string cukup gabungkan kedua string tersebut menggunakan operator slice dari setiap pendekatan
Misalnya jika Anda membutuhkan 3 karakter pertama dan terakhir dari string sumber sebagai string itu sendiri, maka Anda cukup menulis yang berikut ini
>>> my_string = "Uncopyrightable">>> my_string[:3] + my_string[-3:]
"Uncble"
Seperti yang Anda lihat, hasil dari menggabungkan 3 karakter pertama dan karakter terakhir menghasilkan string Uncble baru – apa pun itu
Ringkasan
Untuk menangkap n karakter pertama dari sebuah string, gunakan operator irisan Python yang kuat >>> my_string = "Uncopyrightable" >>> my_string[-3:] "ble"7. Sebaliknya, untuk menangkap n_ karakter terakhir dari string menggunakan operator irisan yang sesuai. >>> my_string = "Uncopyrightable" >>> my_string[-3:] "ble"_9