Python - Mengubah String

Halo semua, para penyihir Python masa depan! Hari ini, kita akan memulai perjalanan yang menarik ke dalam dunia pengubahan string di Python. Sebagai guru ilmu komputer yang ramah lingkungan Anda, saya di sini untuk menjelajahi petualangan ini dengan penjelasan yang jelas, banyak contoh, dan mungkin beberapa tawa atau dua saat perjalanan. Jadi, ambil wands virtual Anda (papan tombol), dan mari kita melompat!

Python - Modify Strings

Mengubah String menjadi List

Saat saya pertama kali belajar tentang manipulasi string, itu seperti membuka superpower rahasia. Salah satu trik yang paling berguna di atas rak obor penyihir kita adalah mengubah string menjadi list. Hal ini memungkinkan kita untuk mengubah karakter individual, yang kita tidak bisa lakukan langsung dengan string (ingat, mereka tidak dapat diubah.).

Fungsi list()

Mari kita mulai dengan metode yang paling sederhana:

my_string = "Hello, World!"
my_list = list(my_string)
print(my_list)

Output:

['H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!']

Apa yang terjadi di sini? Fungsi list() mengambil string kita dan mengubah setiap karakter menjadi elemen dari list. Ini seperti memecahkan batang cokelat menjadi kotak individual - sekarang kita dapat menikmati (atau mengubah) setiap potong secara terpisah!

Metode split()

Terkadang, kita ingin memisahkan string kita menjadi kata bukannya karakter. Itulah saat split() menjadi sangat berguna:

sentence = "Python is awesome!"
word_list = sentence.split()
print(word_list)

Output:

['Python', 'is', 'awesome!']

Secara default, split() menggunakan spasi sebagai pemisah. Tetapi kita dapat menentukan pemisah apa saja yang kita inginkan:

date = "2023-05-15"
date_parts = date.split('-')
print(date_parts)

Output:

['2023', '05', '15']

Apakah ini tidak keren? Kita baru saja memotong string tanggal kita menjadi tahun, bulan, dan hari!

Mengubah dan Menggabungkan Kembali

Setelah kita memiliki list kita, kita dapat mengubahnya dan kemudian menggabungkannya kembali menjadi string:

my_list = list("Hello, World!")
my_list[7] = 'P'  # Ubah 'W' menjadi 'P'
new_string = ''.join(my_list)
print(new_string)

Output:

Hello, Porld!

Kita baru saja mengubah "World" menjadi "Porld"! Baiklah, mungkin bukan modifikasi yang paling berguna, tapi Anda mendapat ide. Metode join() seperti kebalikan dari split() - itu mengambil list kita dan menggabungkan semua elemen kembali menjadi string.

Menggunakan Modul Array

Sekarang, mari kita naik level dan berbicara tentang modul array. Modul ini menyediakan objek array yang lebih efisien daripada list untuk beberapa operasi, khususnya saat mengolah jumlah data yang besar.

Membuat Array

Pertama, kita perlu mengimpor modul:

from array import array

# Buat sebuah array karakter
char_array = array('u', 'Hello, World!')
print(char_array)

Output:

array('u', 'Hello, World!')

'Di sini 'u' untuk karakter Unicode. Ini memberitahu Python tipe data apa yang kita simpan di array kita.

Mengubah Array

Kita dapat mengubah array kita seperti kita lakukan dengan list:

char_array[7] = 'P'
print(char_array.tounicode())

Output:

Hello, Porld!

Metode tounicode() mengubah array kita kembali ke string. Ini seperti join() untuk array!

Kapan Harus Menggunakan Array

Array dapat lebih efisien dalam penggunaan memori daripada list saat mengolah jumlah data yang besar dari jenis yang sama. Jika Anda bekerja dengan ribuan atau juta karakter, array mungkin menjadi teman terbaik Anda!

Menggunakan Kelas StringIO

Terakhir tapi tidak terkecil, mari kita berbicara tentang kelas StringIO. Alat yang keren ini memungkinkan kita untuk bekerja dengan string seperti mereka adalah file. Hal ini sangat berguna saat Anda bekerja dengan fungsi yang mengharapkan objek seperti file.

Membuat Objek StringIO

Pertama, kita perlu mengimpor itu:

from io import StringIO

# Buat sebuah objek StringIO
string_io = StringIO("Hello, World!")

Membaca dari StringIO

Kita dapat membaca dari objek StringIO kita seperti kita akan melakukannya dari file:

content = string_io.read()
print(content)

Output:

Hello, World!

Menulis ke StringIO

Kita juga dapat menulis ke itu:

string_io.write(" How are you?")
string_io.seek(0)  # Kembali ke awal
print(string_io.read())

Output:

Hello, World! How are you?

seek(0) di sini penting. Ini seperti mengembalikan rakitan ke awal sehingga kita dapat membaca dari awal.

Kapan Harus Menggunakan StringIO

StringIO sangat membantu saat Anda bekerja dengan pustaka atau fungsi yang mengharapkan objek seperti file, tetapi Anda tidak ingin membuat file aktual. Ini seperti memiliki notepad virtual di memory komputer Anda!

Ringkasan Metode

Berikut adalah tabel referensi singkat dari metode yang kita pelajari:

Metode Deskripsi Contoh
list() Mengubah string menjadi list karakter list("Hello")
split() Memisahkan string menjadi list substring "Hello World".split()
join() Menggabungkan elemen list menjadi string "".join(['H', 'e', 'l', 'l', 'o'])
array() Membuat objek array array('u', 'Hello')
StringIO() Membuat penyangga string StringIO("Hello")

Dan itu adalah semua, teman-teman! Kita telah menjelajahi negeri pengubahan string di Python, dari konversi list sederhana ke wilayah yang lebih tinggi dari array dan StringIO. Ingat, praktek membuat perfect, jadi jangan takut untuk bereksperimen dengan alat ini. Siapa tahu? Anda mungkin saja membuka penyihir Python yang hebat berikutnya! Sampai jumpa lagi, happy coding!

Credits: Image by storyset