Python String adalah kumpulan dari karakter Unicode. Python memiliki banyak fungsi untuk manipulasi string, tetapi pustaka string Python tidak mendukung fungsi "terbalik ()" bawaan. Tetapi ada berbagai cara untuk membalikkan string. Kami mendefinisikan metode berikut untuk membalikkan String Python Show
Menggunakan untuk loopDi sini, kita akan membalikkan string yang diberikan menggunakan for loop Keluaran ('The original string is: ', 'JavaTpoint') ('The reverse string is', 'tniopTavaJ') Penjelasan- Pada kode di atas, kita telah mendeklarasikan fungsi reverse_string() dan melewatkan argumen str. Di badan fungsi, kami telah mendeklarasikan variabel string kosong str1 yang akan menampung string terbalik Selanjutnya, perulangan for mengulangi setiap elemen dari string yang diberikan, menggabungkan setiap karakter di awal dan menyimpannya dalam variabel str1 Setelah iterasi lengkap, ia mengembalikan string urutan terbalik str1 ke fungsi pemanggil. Itu mencetak hasilnya ke layar Menggunakan pengulangan whileKita juga dapat membalikkan string menggunakan perulangan while. Mari kita pahami contoh berikut Contoh - Keluaran ('The original string is : ', 'JavaTpoint') ('The reversed string using a while loop is : ', 'tniopTavaJ')_ Penjelasan Pada kode di atas, kita telah mendeklarasikan sebuah variabel str yang menyimpan nilai string. Kami menginisialisasi while loop dengan nilai string Di setiap iterasi, nilai str[count - 1] digabungkan ke reverse_String dan mengurangi nilai count. Beberapa saat menyelesaikan iterasinya dan mengembalikan string urutan terbalik Menggunakan operator irisan ([]).Kami juga dapat membalikkan string yang diberikan menggunakan operator slice yang diperluas. Mari kita pahami contoh berikut Contoh - Keluaran ('The original string is : ', 'JavaTpoint') ('The reversed string(using extended slice syntax) is : ', 'tniopTavaJ') Penjelasan Umumnya, operator irisan menerima tiga parameter - mulai, berhenti, dan melangkah. Kami memberikan nilai no untuk indeks awal dan akhir, yang menunjukkan indeks awal adalah 0 dan akhir adalah n-1 secara default. Ukuran langkah adalah -1; Menggunakan fungsi terbalik dengan bergabungPython menyediakan fungsi reversed() untuk membalikkan string. Mari kita pahami contoh berikut Contoh - Keluaran ('The original string is : ', 'JavaTpoint') ('The reversed string using reversed() is : ', 'tniopTavaJ') Penjelasan Di badan fungsi, kami mendeklarasikan string kosong yang dipisahkan oleh. operator titik. String terbalik() mengembalikan string terbalik yang digabungkan dengan string kosong yang dipisahkan menggunakan fungsi join() Menggunakan rekursi()String juga dapat dibalik menggunakan rekursi. Rekursi adalah proses dimana fungsi memanggil dirinya sendiri. Perhatikan contoh berikut Contoh - Keluaran ('The original string is : ', 'JavaTpoint') ('The reversed string(using reversed) is : ', 'tniopTavaJ')_ Penjelasan Pada kode di atas, kita telah mendefinisikan sebuah fungsi yang menerima string sebagai argumen Di badan fungsi, kami mendefinisikan kondisi dasar rekursi, jika panjang string adalah 0, maka string dikembalikan, dan jika tidak maka kami memanggil fungsi secara rekursif Operator irisan mengiris string mengharapkan karakter pertama dan digabungkan ke akhir string irisan Aktivitas terbaru pada pertanyaan ini membuat saya melihat ke belakang dan mengubah solusi saya menjadi one-liner cepat menggunakan generator
Meskipun jelas ada beberapa jawaban yang lebih baik di sini seperti langkah negatif dalam fungsi range atau xrange. Berikut ini adalah solusi asli saya Ini solusi saya, saya akan menjelaskannya langkah demi langkah _Pertama, kita harus memberikan parameter ke fungsi, dalam hal ini 2Selanjutnya, saya menetapkan daftar kosong, bernama 3 untuk digunakan nanti. (Saya sebenarnya tidak tahu saya memerlukan daftar sampai saya mendapatkan 4 loop, Anda akan melihat mengapa itu perlu dalam sedetik. )Variabel 5 akan masuk akal setelah saya masuk ke loop 4Jadi mari kita lihat versi dasar dari apa yang ingin kita capai Masuk akal jika menambahkan karakter terakhir ke daftar akan memulai urutan terbalik. Sebagai contoh
Namun untuk terus membalikkan urutan, kita perlu menambahkan 7 lalu 8
Ini bagus, kami sekarang memiliki daftar yang memiliki kata asli kami dalam urutan terbalik dan dapat diubah kembali menjadi string dengan menggunakan 9. Tapi ada masalah. Ini berfungsi untuk kata foo, bahkan berfungsi untuk kata apa pun yang memiliki panjang 3 karakter. Tapi bagaimana dengan kata dengan 5 karakter? . Bagaimana jika ada cara kami dapat mengubah indeks yang kami tambahkan secara dinamis sehingga kata apa pun akan dikembalikan dalam urutan terbalik?Masukkan untuk loop
Pertama-tama, perlu menggunakan _0 daripada hanya 1, karena kita perlu mengulangi karakter dalam kata, tetapi kita juga perlu menarik nilai indeks kata sehingga kita mengubah urutannyaBagian pertama dari body loop for kita seharusnya terlihat familier. Ini sangat mirip dengan
Padahal, konsep dasarnya sama persis
Jadi apa yang dilakukan semua hal di tengah? Nah, pertama-tama kita perlu menambahkan indeks huruf terakhir ke daftar kita, yang merupakan panjang kata, 2, -1. Mulai sekarang kita akan menyebutnya sebagai l(t) -1
Itu saja akan selalu mendapatkan huruf terakhir dari kata kita, dan menambahkannya ke 3, terlepas dari panjang kata. Tapi sekarang kita memiliki huruf terakhir, yaitu l(t) - 1, kita membutuhkan huruf kedua terakhir, yaitu l(t) - 2, dan seterusnya, sampai tidak ada lagi karakter untuk ditambahkan ke daftar. Ingat variabel _5 kita dari atas? . Dengan menggunakan perulangan _4, kita dapat menambah nilai 5 sebanyak 1 melalui setiap iterasi, sehingga nilai yang kita kurangi bertambah, hingga perulangan for telah berulang di seluruh kata
Sekarang setelah kita memiliki inti dari fungsi kita, mari kita lihat apa yang kita miliki sejauh ini
Kita hampir selesai. Saat ini, jika kita memanggil fungsi kita dengan kata 'halo', kita akan mendapatkan daftar seperti itu ['o','l','l','e','h'] Kami tidak ingin daftar, kami ingin string. Kita dapat menggunakan _7 untuk itu _0Dan itu saja. Jika kita memanggil kata 'hello' secara terbalik(), kita akan mendapatkan ini _1Jelas, ini jauh lebih banyak kode daripada yang diperlukan dalam situasi kehidupan nyata. Menggunakan fungsi terbalik atau irisan yang diperluas akan menjadi cara optimal untuk menyelesaikan tugas ini, tetapi mungkin ada beberapa contoh ketika itu tidak berfungsi, dan Anda memerlukan ini. Either way, saya pikir saya akan membagikannya untuk siapa saja yang akan tertarik Bagaimana Anda membalikkan string tanpa fungsi terbalik dengan Python?String dapat dibalik menggunakan slicing. Untuk membalikkan string, kita cukup membuat irisan yang dimulai dengan panjang string, dan berakhir pada indeks 0 . Pernyataan irisan berarti mulai dari panjang string, berakhir pada posisi 0, bergerak dengan langkah -1 (atau mundur satu langkah).
Bisakah Anda membalikkan string tanpa menggunakan metode terbalik?Anda dapat membalik suatu String dengan beberapa cara, tanpa menggunakan fungsi reverse() . Menggunakan rekursi - Rekursi adalah proses pengulangan item dengan cara yang mirip dengan diri sendiri. Dalam bahasa pemrograman, jika suatu program memungkinkan Anda untuk memanggil fungsi di dalam fungsi yang sama, maka itu disebut pemanggilan fungsi secara rekursif.
Bagaimana cara membalikkan string tanpa fungsi?Cara Rekursif untuk membalikkan string . Hitung panjang (Len) tali Inisialisasi indeks array. Awal = 0, Akhir = Len-1 tukar nilai pszData[Mulai] dengan pszData[Akhir] Ubah indeks 'array seperti di bawah ini dan secara rekursif panggil fungsi balik untuk larik lainnya. Mulai = mulai +1; Apa saja cara berbeda untuk membalikkan string dengan Python?Beberapa cara umum untuk membalikkan string adalah. . Menggunakan Mengiris untuk membuat salinan terbalik dari string Menggunakan for loop dan menambahkan karakter dalam urutan terbalik Menggunakan while loop untuk mengulangi karakter string dalam urutan terbalik dan menambahkannya Menggunakan fungsi string join() dengan reversed() iterator |