Hot deal hosting vps vietnix tháng 2Hot deal hosting vps vietnix tháng 2
PHP
Python

Trang chủ

Cách thay đổi chuỗi trong Python

Ngôn ngữ Python là một ngôn ngữ lập trình đa mục đích, nổi tiếng với cú pháp dễ đọc, dễ học và tính ứng dụng cao. Trong lĩnh vực phát triển web, Python thường được sử dụng thông qua các framework như Django và Flask để xây dựng các ứng dụng web mạnh mẽ, bảo mật và dễ mở rộng. Trong chuyên mục này, Vietnix không chỉ cung cấp kiến thức nền tảng về ngôn ngữ Python mà còn hướng dẫn chi tiết cách xây dựng các ứng dụng web thực tế, sử dụng các framework phổ biến và áp dụng các kỹ thuật tiên tiến. Vietnix cam kết liên tục cập nhật những bài viết mới nhất về các tính năng mới của Python, các thư viện hỗ trợ hữu ích và những phương pháp tốt nhất, giúp bạn khai thác tối đa sức mạnh của Python và hoàn thiện kỹ năng lập trình web của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
10/02/2025
5 phút đọc
Theo dõi Vietnix trên

Cách thay đổi chuỗi trong Python

Trong Python, chuỗi có một đặc điểm quan trọng là immutable (bất biến). Điều này có nghĩa là bạn không thể trực tiếp thay đổi nội dung của một chuỗi sau khi nó đã được tạo. Vậy, làm thế nào để thực hiện các thao tác chỉnh sửa, cập nhật nội dung của chuỗi khi cần thiết? Bài viết này sẽ chỉ cho bạn các phương pháp khác nhau cho phép thay đổi chuỗi trong Python.

Các điểm chính

Khi đọc xong bài viết, bạn sẽ:

  • Hiểu rõ tại sao chuỗi trong Python lại có tính chất đặc biệt này.
  • Nắm vững các kỹ thuật để “thay đổi” chuỗi một cách linh hoạt, bao gồm cả việc chuyển đổi chuỗi thành danh sách.
  • Làm quen với module array và StringIO Class – những công cụ hữu ích khi làm việc với chuỗi trong Python.
  • Có thêm tự tin để giải quyết các bài toán liên quan đến chuỗi trong quá trình học lập trình Python.

Thay đổi chuỗi trong Python

Thay đổi chuỗi trong Python là quá trình tác động để thay đổi các ký tự của một chuỗi. Tuy nhiên, khi nói về việc “thay đổi” chuỗi trong Python, thực chất chúng ta đang tạo ra một chuỗi mới dựa trên chuỗi ban đầu.

Thay đổi chuỗi trong Python là quá trình thay tạo ra một chuỗi mới từ chuỗi ban đầu
Thay đổi chuỗi trong Python là quá trình thay tạo ra một chuỗi mới từ chuỗi ban đầu

Trong Python, chuỗi (một đối tượng của lớp str) là kiểu dữ liệu không thể thay đổi (immutable). “Không thể thay đổi” có nghĩa là một đối tượng, một khi đã được tạo ra trong bộ nhớ, thì không thể bị sửa đổi trực tiếp tại vị trí đó. Khác với danh sách (list), ta không thể ghi đè bất kỳ ký tự nào trong chuỗi, cũng không thể chèn hay thêm ký tự vào chuỗi đó một cách trực tiếp. Nếu cần chỉnh sửa chuỗi, chúng ta phải sử dụng các phương thức chuỗi, và các phương thức này sẽ trả về một đối tượng chuỗi mới. Chuỗi gốc sẽ vẫn giữ nguyên.

Tuy nhiên, có một số mẹo/thủ thuật để ta có thể đạt được kết quả tương tự như việc thay đổi một chuỗi.

Chuyển đổi chuỗi thành danh sách

Trong Python, cả chuỗi và danh sách đều là kiểu dữ liệu dạng chuỗi, chúng có thể chuyển đổi qua lại lẫn nhau. Do đó, ta có thể chuyển một chuỗi thành danh sách, chỉnh sửa danh sách bằng các phương thức như insert() (chèn), append() (thêm vào cuối), hoặc remove() (xóa), và sau đó chuyển danh sách trở lại thành chuỗi để có được một phiên bản đã chỉnh sửa.

Giả sử, ta có một biến chuỗi chuoi_ban_dau với giá trị là “CHAO” và ta cần chuyển đổi chuỗi này thành một danh sách. Để làm điều này, chúng ta có thể dùng hàm có sẵn list(). Sau đó ta sẽ thêm kí tự “M” vào sau “O” ở vị trí 2, tiếp theo, ta có thể nối tất cả các ký tự bằng phương thức join() của lớp str. 

Ví dụ:

chuoi_ban_dau = "CHAO"
print("Chuỗi ban đầu:", chuoi_ban_dau)

# Chuyển chuỗi thành danh sách
danh_sach_ky_tu = list(chuoi_ban_dau)

# Chèn ký tự "M" vào vị trí thứ 3 (sau "O")
danh_sach_ky_tu.insert(2,"M")

print(danh_sach_ky_tu)

# Nối các ký tự trong danh sách lại thành chuỗi
chuoi_moi = ''.join(danh_sach_ky_tu)

print("Chuỗi sau khi sửa:", chuoi_moi)

Khi thực thi đoạn code trên, kết quả sẽ là:

Chuỗi ban đầu: CHAO
[‘C’, ‘H’, ‘A’, ‘M’, ‘O’]
Chuỗi sau khi sửa: CHAM

Sử dụng module array để thay đổi chuỗi trong Python

Để chỉnh sửa một chuỗi, chúng ta có thể tạo một đối tượng mảng bằng cách sử dụng module array có sẵn trong thư viện chuẩn của Python. Module này sẽ tạo một mảng kiểu Unicode từ một biến chuỗi. Ví dụ:

import array as arr

# Khởi tạo một chuỗi
chuoi_ban_dau = "HOC"
print("Chuỗi ban đầu:", chuoi_ban_dau)

# Chuyển đổi chuỗi thành mảng
mang_ky_tu = arr.array('u', chuoi_ban_dau)

# Chèn một ký tự vào mảng
mang_ky_tu.insert(1, "A")

# Chuyển mảng trở lại thành chuỗi
chuoi_moi = mang_ky_tu.tounicode()
print("Chuỗi sau khi chỉnh sửa:", chuoi_moi)

Kết quả khi chạy đoạn mã trên:

Chuỗi ban đầu: HOC
Chuỗi sau khi chỉnh sửa: HAOC

Sử dụng StringIO Class để thay đổi chuỗi trong Python

Module io trong Python định nghĩa các lớp (class) để xử lý các luồng (stream) dữ liệu. Lớp StringIO biểu diễn một luồng văn bản sử dụng bộ đệm văn bản trong bộ nhớ. Một đối tượng StringIO được tạo ra từ một chuỗi sẽ hoạt động giống như một đối tượng File. Do đó, chúng ta có thể thực hiện các thao tác đọc/ghi trên đối tượng StringIO. Phương thức getvalue() của lớp StringIO trả về một chuỗi.

Ví dụ:

import io

chuoi_ban_dau = "HOC"
print("Chuỗi ban đầu:", chuoi_ban_dau)

# Tạo một đối tượng StringIO từ chuỗi ban đầu.
luong_chuoi = io.StringIO(chuoi_ban_dau)

# Di chuyển con trỏ đến vị trí thứ 3 (bắt đầu từ 0).
luong_chuoi.seek(2)

# Ghi đè "C" bằng "T".
luong_chuoi.write("T")

# Lấy chuỗi đã được sửa đổi.
chuoi_da_sua = luong_chuoi.getvalue()

print("Chuỗi đã sửa:", chuoi_da_sua)

Chương trình trên sẽ cho ra kết quả:

Chuỗi ban đầu: HOC
Chuỗi đã sửa: HOT

Lời kết

Vậy là chúng ta đã cùng nhau tìm hiểu chi tiết về các phương pháp khác nhau để thay đổi chuỗi trong Python, từ những kỹ thuật cơ bản như chuyển đổi thành danh sách đến việc sử dụng các module array và lớp StringIO. Hy vọng những kiến thức này sẽ hữu ích cho bạn trong quá trình lập trình và giúp bạn linh hoạt xử lý các bài toán liên quan đến chuỗi. Chúc bạn thành công!

Mọi người cũng đọc

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn