Membalikkan array string dengan python

Pembalikan string bukanlah operasi umum dalam pemrograman dan umumnya digunakan dalam wawancara pengkodean

Artikel ini membahas beberapa cara berbeda untuk membalikkan string dengan Python

Menggunakan Pemotongan

Memahami cara kerja pengindeksan di Python sangat penting untuk melakukan operasi String Slice. Umumnya, nomor indeks digunakan untuk mengakses karakter tertentu dalam sebuah string

Ada dua jenis pengindeksan;

Membalikkan array string dengan python

Anda dapat mengakses karakter

Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'str' object has no attribute 'reverse'
_9, baik melalui nomor indeks positif
>>> print('Linuxize'[2])
0 atau melalui nomor indeks negatif
>>> print('Linuxize'[2])
1

>>> print('Linuxize'[2])
_

n
_

>>> print('Linuxize'[-6])

n
_

Kita dapat memanggil berbagai karakter dari sebuah string melalui teknik pemotongan. Mengiris adalah operasi yang mengekstrak urutan substring dari string yang diberikan

Sintaks Iris

string[start:stop:step]

  • Argumen pertama menentukan indeks tempat ekstraksi dimulai. Ketika indeks negatif digunakan, itu menunjukkan offset dari ujung string. Jika argumen ini dihilangkan, pemotongan dimulai dari indeks 0
  • Argumen kedua menentukan indeks sebelum mengakhiri ekstraksi; . Ketika indeks negatif digunakan, itu menunjukkan offset dari ujung string. Jika argumen ini dihilangkan atau lebih besar dari panjang string, pemotongan akan berlanjut ke akhir string
  • Argumen ketiga bersifat opsional dan menentukan langkah pemotongan. Ketika argumen
    >>> print('Linuxize'[2])
    
    _3 tidak digunakan, defaultnya adalah 1. Saat nilai negatif digunakan, irisan mengambil elemen dalam urutan terbalik

Hasil pemotongan string adalah string baru yang berisi elemen yang diekstraksi, dan string asli tidak dimodifikasi

Untuk membalikkan string menggunakan slicing, hilangkan argumen

>>> print('Linuxize'[2])
4 dan
>>> print('Linuxize'[2])
2 dan gunakan langkah negatif kenaikan
>>> print('Linuxize'[2])
6

Kenaikan langkah negatif dari

>>> print('Linuxize'[2])
_6 berarti bahwa pemotongan dimulai pada elemen terakhir dan berakhir pada elemen pertama, menghasilkan string terbalik

>>> print('Linuxize'[::-1])

ezixuniL

Anda juga dapat menentukan fungsi kustom dan menggunakannya untuk membalikkan string

def rev_str_thru_slicing(str_):
    return str_[::-1]

INPUT_STRING = "Linuxize"

if __name__ == '__main__':
    print("INPUT STRING -", INPUT_STRING)
    print("REVERSED STRING -", rev_str_thru_slicing(INPUT_STRING))

Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'str' object has no attribute 'reverse'
0

Menggunakan Traceback (most recent call last): File "<input>", line 1, in <module> AttributeError: 'str' object has no attribute 'reverse' 7 Fungsi

Fungsi

>>> print('Linuxize'[2])
9 bawaan memproses item string dalam urutan terbalik dan mengembalikan iterator terbalik

Pada contoh di bawah, elemen iterator terbalik ditambahkan ke string kosong menggunakan operator

n
0

Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'str' object has no attribute 'reverse'
_1

Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'str' object has no attribute 'reverse'
_2

Menggunakan Daftar Traceback (most recent call last): File "<input>", line 1, in <module> AttributeError: 'str' object has no attribute 'reverse' 8

Untuk membalikkan string dengan metode daftar

Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'str' object has no attribute 'reverse'
_8, pertama-tama, string perlu diubah menjadi daftar menggunakan konstruktor
n
3. Kemudian item daftar dibalik dengan metode
Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'str' object has no attribute 'reverse'
8, dan terakhir, item daftar digabungkan menjadi string menggunakan metode
n
0

Ini sebuah contoh

Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'str' object has no attribute 'reverse'
_3

Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'str' object has no attribute 'reverse'
_4

Menggunakan Fungsi Rekursif

Dalam Python, fungsi rekursif adalah fungsi yang memanggil dirinya sendiri hingga suatu kondisi terpenuhi

Dalam cuplikan kode di bawah ini, fungsi

n
_6 memanggil dirinya sendiri hingga panjang string lebih besar dari nol. Pada setiap panggilan, string dipotong, hanya menyisakan karakter pertama. Kemudian, itu digabungkan dengan karakter yang diiris

Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'str' object has no attribute 'reverse'
5

Analisis perbandingan

Di bagian ini, kami akan melakukan perbandingan sederhana antara keempat metode yang ditentukan ini untuk mengidentifikasi efisiensinya. Kami akan menganalisis kinerja menggunakan modul Python yang disebut "timeit". Ini memberikan waktu yang dibutuhkan untuk eksekusi potongan kode. Opsi "ulangi" dari modul "timeit" membantu mengulang eksekusi kode satu juta kali. Kita dapat memahami hasilnya sebagai rata-rata waktu yang dibutuhkan dengan menjalankan cuplikan kode satu juta kali

Metode Perbandingan Waktu Eksekusi Rasio Kal. Mengiris0. 231xList Terbalik1. 637xGabung & Cadangan1. 737. 5xRekursi19. 1983x

Tabel di atas menunjukkan bahwa metode Slicing tujuh kali lebih cepat daripada pendekatan List Reverse, 7. 5 kali lebih cepat dari pendekatan Join & Reserved, dan 83 kali lebih cepat dari pendekatan rekursi. Jadi Mengiris adalah cara tercepat dan terbaik untuk membalikkan string

Membalikkan array string dengan python

Hasil di atas adalah analisis komparatif dari metode yang dibahas untuk membalikkan string di lingkungan yang sama. Angka mungkin berbeda di lingkungan komputasi yang berbeda, tetapi rasionya mungkin akan tetap sama

Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'str' object has no attribute 'reverse'
_6

Kesimpulan

Python tidak memiliki fungsi bawaan untuk membalikkan string, tetapi kita dapat menggunakan metode lain untuk membalikkan string. Analisis uji regresi menunjukkan bahwa metode slicing merupakan cara tercepat untuk membalikkan suatu string

python

Tentang Penulis

Sriram Ramanujam

Arsitek Otomasi Jaringan Global yang berpengalaman dengan 10+ tahun pengalaman industri yang kaya dalam mengembangkan solusi yang dapat diskalakan untuk otomatisasi jaringan, desain teknik, operasi, dan telemetri

Bagaimana Anda membalikkan larik string?

Kelas string tidak memiliki metode balik untuk membalikkan string. .
Buat larik karakter dengan ukuran string yang sama
Isi larik karakter mundur menggunakan karakter string
Ubah array karakter menjadi string dengan String. copyValueOf(char[]) lalu kembalikan

Bisakah Anda membalikkan array dengan Python?

Untuk membalik array, Python juga menawarkan metode reversed() . Metode reversed() tidak membuat salinan apa pun dari larik, juga tidak membuat perubahan apa pun pada larik asli. Sebaliknya, ia mengembalikan sebuah iterator. Metode ini dibuat untuk memfasilitasi iterasi terbalik atas sekuens.

Apakah Reverse () berfungsi pada string Python?

reverse() berfungsi seperti membalikkan string pada tempatnya . Namun, yang sebenarnya dilakukannya adalah membuat string baru yang berisi data asli dalam urutan terbalik.

Apa fungsi Reverse () di Python?

Python terbalik() . computes the reverse of a given sequence object and returns it in the form of a list.