Kebalikan dari string dalam python menggunakan while loop

Ini adalah usaha saya menggunakan dekorator dan for loop. Taruh semuanya dalam satu file

Detail implementasi

def reverse(func):
    def reverse_engine(items):
        partial_items = []
        for item in items:
            partial_items = [item] + partial_items
        return func(partial_items)
    return reverse_engine

Penggunaan

Contoh 1

@reverse
def echo_alphabets(word):
    return ''.join(word)

echo_alphabets('hello')
# olleh
_

Contoh 2

@reverse
def echo_words(words):
    return words

echo_words([':)', '3.6.0', 'Python', 'Hello'])
# ['Hello', 'Python', '3.6.0', ':)']

Contoh 3

@reverse
def reverse_and_square(numbers):
    return list(
        map(lambda number: number ** 2, numbers)
    )

reverse_and_square(range(1, 6))
# [25, 16, 9, 4, 1]

Dalam tutorial ini, Anda akan belajar cara menggunakan Python untuk membalikkan string. Mengetahui cara bekerja dengan string adalah keterampilan yang sangat berguna. Secara khusus, membalikkan string adalah masalah yang sering muncul dalam wawancara pemrograman

Anda akan belajar mengapa membalikkan string tidak berfungsi seperti yang Anda harapkan, dan berbagai cara yang dapat Anda gunakan untuk membalikkan string dengan Python. Anda akan belajar cara menggunakan pengindeksan string, pembalikan daftar, Python for loop, while loop, rekursi, dan fungsi khusus untuk membuat kode Anda lebih mudah dibaca

Jawaban Cepat. Gunakan Pengindeksan String untuk Membalikkan String dengan Python

Kebalikan dari string dalam python menggunakan while loop

Daftar isi

Mengapa String Sulit untuk Dibalik dengan Python

String dalam Python adalah immutable_, artinya tidak dapat diubah. Ini berbeda dari objek lain, seperti daftar, yang memungkinkan kita membalikkannya dengan mudah, menggunakan metode bawaan

Untuk membalikkan string, kita perlu membuat string baru, daripada memodifikasi aslinya

Ini adalah konsep penting untuk dipahami karena merupakan pertanyaan yang sering muncul dalam wawancara pemrograman. Meskipun Anda mungkin tidak sering menemukan ini dalam petualangan pemrograman sehari-hari, penting untuk mengingatnya kembali.

Sekarang, mari belajar cara membalikkan string dengan Python

Balikkan String Python dengan Pengindeksan String

String Python adalah objek indexed , artinya kita dapat mengakses item mereka menggunakan indeksnya

Indeks Python dimulai pada 0 meningkat sebesar 1. Demikian pula, kita dapat mengakses item terakhir objek dengan mengakses indeks negatifnya, yang dimulai dengan

# Reverse a String in Python with String Indexing with a Custom Function

def reverse_string(a_string):
    return a_string[::-1]

a_string = 'datagy'
reversed_string = reverse_string(a_string)

print(reversed_string)

# Returns: ygatad
0, dan berkurang dengan 1

Satu keuntungan besar dari pengindeksan Python adalah kita dapat menggunakan variabel

# Reverse a String in Python with String Indexing with a Custom Function

def reverse_string(a_string):
    return a_string[::-1]

a_string = 'datagy'
reversed_string = reverse_string(a_string)

print(reversed_string)

# Returns: ygatad
2 untuk mengulang objek yang diindeks. Variabel
# Reverse a String in Python with String Indexing with a Custom Function

def reverse_string(a_string):
    return a_string[::-1]

a_string = 'datagy'
reversed_string = reverse_string(a_string)

print(reversed_string)

# Returns: ygatad
2 adalah item ketiga dalam indeks, yang memungkinkan kita untuk mengatur cara kita memindahkan item

Sekarang setelah Anda memiliki pemahaman yang kuat tentang cara kerja pengindeksan string di Python, mari kita lihat bagaimana kita dapat menggunakannya untuk mencapai tujuan kita

# Reverse a String in Python with String Indexing

a_string = 'datagy'
reversed_string = a_string[::-1]

print(reversed_string)

# Returns: ygatad

Kita dapat melihat di sini bahwa kita dapat membalikkan string kita. Ini berhasil karena kami menetapkan parameter ketiga opsional, parameter

# Reverse a String in Python with String Indexing with a Custom Function

def reverse_string(a_string):
    return a_string[::-1]

a_string = 'datagy'
reversed_string = reverse_string(a_string)

print(reversed_string)

# Returns: ygatad
2, ke
# Reverse a String in Python with String Indexing with a Custom Function

def reverse_string(a_string):
    return a_string[::-1]

a_string = 'datagy'
reversed_string = reverse_string(a_string)

print(reversed_string)

# Returns: ygatad
0. Hal ini memungkinkan kita untuk melintasi string dalam urutan negatif

Di bagian selanjutnya, Anda akan mempelajari cara membuat fungsi kustom yang membuat pendekatan ini lebih mudah dibaca

Buat Fungsi Kustom untuk Membalik String Python

Karena Python tidak memiliki metode yang jelas dan mudah dipahami untuk membalikkan string, mungkin berguna bagi Anda dan pembaca kode Anda untuk membuatnya. Meskipun tampaknya sepele untuk melakukan ini, karena kode hanya akan menjadi satu baris, ini akan segera memperjelas apa yang dilakukan kode Anda

Mari kita lihat bagaimana kita bisa menggunakan metode pengindeksan string dan membuat fungsi kustom

# Reverse a String in Python with String Indexing with a Custom Function

def reverse_string(a_string):
    return a_string[::-1]

a_string = 'datagy'
reversed_string = reverse_string(a_string)

print(reversed_string)

# Returns: ygatad
_

Menggunakan metode ini meningkatkan keterbacaan kode Anda. Di bagian selanjutnya, Anda akan mempelajari cara menggunakan daftar Python untuk mencapai tujuan ini

Gunakan Daftar Python untuk Membalikkan String

Karena string Python adalah objek yang dapat diubah, kita dapat dengan mudah mengubahnya menjadi daftar. Daftar di Python dilengkapi dengan alat bawaan untuk memungkinkan kita membaliknya. Anda dapat mempelajari semua tentang metode ini dalam tutorial mendalam saya, yang memandu Anda melalui enam cara berbeda untuk membalikkan daftar dengan Python

Mari kita lihat bagaimana kita bisa melakukan ini dengan Python

# Reverse a String in Python with lists

a_string = 'datagy'

a_list = list(a_string).reverse()
a_list.reverse()
reversed_string = ''.join(a_list)

print(reversed_string)

# Returns: ygatad

Mari uraikan apa yang telah kita lakukan di sini

  1. Kami mengonversi string kami menjadi daftar,
  2. Kami kemudian menggunakan metode
    # Reverse a String in Python with String Indexing with a Custom Function
    
    def reverse_string(a_string):
        return a_string[::-1]
    
    a_string = 'datagy'
    reversed_string = reverse_string(a_string)
    
    print(reversed_string)
    
    # Returns: ygatad
    _6 untuk membalikkan daftar kami,
  3. Akhirnya, kami mengubah daftar kami kembali menjadi string

Di bagian selanjutnya, Anda akan mempelajari cara menggunakan loop Python for untuk tujuan ini

Gunakan Python For Loop untuk Membalikkan String

Kita juga bisa menggunakan loop for Python untuk mengembalikan string dalam urutan mundurnya

Untuk melakukan ini, kita dapat mengulangi setiap item dalam urutan terbalik dan menambahkannya ke string baru

# Reverse a String in Python with a for loop

a_string = 'datagy'
reversed_string = ''

for item in a_string:
    reversed_string = item + reversed_string

print(reversed_string)

# Returns: ygatad

Di bagian selanjutnya, Anda akan mempelajari cara menggunakan perulangan while untuk membalikkan string dengan Python

Gunakan While Loop Python untuk Membalikkan String

Sebuah while loop Python juga dapat mengembalikan string dalam urutan mundurnya

Mari kita lihat bagaimana kita bisa melakukan ini dan kemudian jelajahi mengapa ini berhasil

# Reverse a String in Python with a while loop

a_string = 'datagy'
reversed_string = ''
i = len(a_string) - 1
while i >= 0:
    reversed_string += a_string[i]
    i -= 1

print(reversed_string)

# Returns: ygatad

Mari kita lihat mengapa ini berhasil

  1. Kami menjalankan loop kami saat indeks kami lebih besar atau sama dengan 0
  2. Kita mulai dari indeks terakhir dan bergerak menuju indeks terendah, 0
  3. Untuk setiap string yang kami temui, kami menambahkannya ke daftar baru
  4. Kami kemudian mengurangi penghitung kami,
    # Reverse a String in Python with String Indexing with a Custom Function
    
    def reverse_string(a_string):
        return a_string[::-1]
    
    a_string = 'datagy'
    reversed_string = reverse_string(a_string)
    
    print(reversed_string)
    
    # Returns: ygatad
    7, sebesar 1

Di bagian selanjutnya, Anda akan mempelajari cara menggunakan rekursi untuk membalikkan string

Balikkan String dengan Rekursi Python

Rekursi bisa menjadi konsep yang sulit untuk dipikirkan, tetapi juga alat yang berguna setelah Anda memahaminya

Untuk menggunakan metode rekursif, kita perlu membuat sebuah fungsi yang akan memanggil dirinya sendiri sampai kondisi tertentu terpenuhi

Mari kita lihat bagaimana kita dapat menggunakan rekursi untuk membalikkan string kita

# Reverse a String in Python with Recursion

a_string = 'datagy'
def reverse_a_string(a_string):
    if len(a_string) == 1:
        return a_string
    return reverse_a_string(a_string[1:]) + a_string[:1]

reversed_string = reverse_a_string(a_string)
print(reversed_string)

# Returns: ygatad

Kesimpulan

Dalam tutorial ini, Anda belajar cara menggunakan Python untuk membalikkan string. Ini adalah keterampilan yang penting untuk diketahui, terutama dalam wawancara pemrograman pemula. Anda mempelajari metode terbaik untuk melakukannya, pengindeksan string, dan cara mengubahnya menjadi fungsi yang sangat mudah dibaca untuk membantu memandu pembaca kode Anda. Anda telah mempelajari beberapa metode alternatif, termasuk menggunakan for loop dan while loop, serta daftar metode dan rekursi

Bagaimana Anda membalikkan string dengan Python while loop?

Di sini, kita akan membalikkan string yang diberikan menggunakan for loop. .
def reverse_string(str)
str1 = "" # Mendeklarasikan string kosong untuk menyimpan string terbalik
untuk saya di str
str1 = i + str1
return str1 # Ini akan mengembalikan string terbalik ke fungsi pemanggil
str = "JavaTpoint" # Diberikan String
print("String aslinya adalah. ",str)

Bagaimana Anda membalikkan string dalam loop sementara?

Menggunakan while loop untuk mengulangi karakter string dalam urutan terbalik dan menambahkannya. Menggunakan fungsi string join() dengan iterator terbalik() . Membuat daftar dari string dan kemudian memanggil fungsi reverse().

Bagaimana Anda menemukan kebalikan dari string di Python?

Kami memiliki string, "Hello World", yang ingin kami balikkan. .
String ke Balik. txt = "Halo Dunia" [. -1] cetak(txt).
Iris Tali. txt = "Halo Dunia" [. -1].
Iris Tali. def fungsi_saya(x). .
Kembalikan Tali. def fungsi_saya(x). .
Panggil Fungsi. def fungsi_saya(x). .
Cetak Hasilnya. def fungsi_saya(x)