Cara Membalikkan String Dengan Python
Untuk membalikkan string dengan Python, beberapa cara umum untuk membalikkan string adalah sebagai berikut
- 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 iterator terbalik()
- Membuat daftar dari string lalu memanggil fungsi terbalik()
- Menggunakan Rekursi
Lihat contoh berikut
name = 'AppDividend' reversedName = 'dnediviDppA'Pada kode di atas, variabel first name adalah variabel standar, lalu reversedName adalah string kebalikannya
Membalikkan String Python Dengan Mengiris
String mengikuti protokol urutan di Python. Dan semua urutan mendukung fitur menarik yang disebut pemotongan. Anda dapat melihat slicing sebagai ekstensi dari sintaks pengindeksan kurung siku
Ini termasuk kasus tertentu di mana mengiris urutan dengan “[. -1]” menghasilkan salinan terbalik dari string. Karena string Python adalah urutan, ini adalah cara cepat dan mudah untuk mendapatkan salinan terbalik dari string tersebut
Lihat contoh kode berikut
Lihat hasilnya
Singkat dan manis—tetapi, menurut saya, sisi negatif dari membalikkan string dengan sintaks pemotongan adalah menggunakan fitur Python canggih yang akan dikatakan oleh beberapa pengembang sebagai "misterius. ”
Gotcha terbesar saya di sini adalah menggunakan “[. -1]” mengiris sintaks tidak cukup berkomunikasi sehingga membuat salinan terbalik dari string asli
Lihat contoh kedua Python Reverse String using Slicing.
# app.py def reverse_string(str): return str[::-1] str_data = 'Game of Thrones' if __name__ == "__main__": print('Reverse String using Python slicing =', reverse_string(str_data))Lihat keluaran di bawah ini
Menggunakan loop untuk membalikkan string
Pada contoh di bawah ini, kita membalikkan string menggunakan for loop
# app.py def reverse_string(str): string = "" for i in str: string = i + string return string str_data = 'Game of Thrones' if __name__ == "__main__": print('Reverse String using For Loop =', reverse_string(str_data))Lihat keluaran di bawah ini
String Balik Python menggunakan While Loop
Lihat kode berikut
# app.py def reverse_string(input): string = "" length = len(input) - 1 while length >= 0: string = string + input[length] length = length - 1 return string str_data = 'Game of Thrones' if __name__ == "__main__": print('Reverse String using While Loop =', reverse_string(str_data))_Lihat hasilnya
Python membalikkan string menggunakan join() dan reversed()
Membalikkan string menggunakan iterasi terbalik dengan built-in adalah opsi lain. Anda mendapatkan iterator terbalik yang dapat Anda gunakan untuk menggilir elemen-elemen dalam string dalam urutan terbalik
Menggunakan fungsi terbalik() tidak mengubah string asli (yang tidak akan berfungsi karena string adalah objek yang tidak dapat diubah di Python. ) Apa yang terjadi adalah Anda mendapatkan "tampilan" ke dalam string yang ada yang dapat Anda gunakan untuk melihat semua item dalam urutan terbalik
Sekarang, Kami menggunakan fungsi Python join() dan fungsi reversed() digabungkan untuk mendapatkan string terbalik. Lihat contoh di bawah ini
# app.py def reverse_string(input): string = ''.join(reversed(input)) return string str_data = 'Game of Thrones' if __name__ == "__main__": print('Reverse String using For Loop =', reverse_string(str_data))Cuplikan kode di atas menggunakan. join() untuk menggabungkan semua karakter string yang dihasilkan dari iterasi terbalik ke dalam string baru
Sekarang, lihat hasilnya
Saya suka pendekatan iterator terbalik di atas untuk membalikkan string dengan Python
Ini mengomunikasikan dengan jelas apa yang sedang terjadi, dan bahkan seseorang yang baru mengenal bahasa tersebut pada akhirnya akan mengerti bahwa saya membuat salinan terbalik dari string asli
Dan sementara memahami bagaimana iterator bekerja pada tingkat yang lebih dalam sangat membantu, tidak perlu menggunakan teknik ini
String Balik Python menggunakan Rekursi
Lihat kode di bawah ini
# app.py def reverse_string(input): if len(input) == 0: return input else: return reverse_string(input[1:]) + input[0] str_data = 'Game of Thrones' if __name__ == "__main__": print('Reverse String using Recursion =', reverse_string(str_data))_Sekarang, lihat hasilnya
Perbandingan Kinerja
Setelah menerapkan pendekatan pembalikan string, saya telah menunjukkan banyak pendekatan dalam tutorial ini dan sekarang lihat kinerja relatifnya
Mengiris adalah pendekatan tercepat, pendekatan terbalik() 8x lebih lambat daripada mengiris, lalu while dan for loop juga memerlukan waktu
Jika Anda bertanya-tanya mana cara terbaik untuk membalikkan string dengan Python, jawaban saya adalah. "Tergantung. ”
Namun, ada argumen yang dibuat bahwa pendekatan pemotongan delapan kali lebih cepat harus digunakan secara pasti karena alasan kinerja. Biaya kinerja selalu merupakan parameter yang baik di mana Anda harus membangun aplikasi web Anda. Itu saja untuk contoh ini