Làm thế nào để bạn thay thế các chữ cái bằng số trong python?
Trong hướng dẫn ngắn này, chúng tôi xem xét cách bạn có thể sử dụng Python để thay thế một ký tự trong chuỗi. Chúng tôi chia nhỏ mã để giúp bạn hiểu chức năng Show
Mục lục. Python thay thế ký tự trong chuỗi
Không giống như danh sách, chuỗi Python là bất biến và do đó chúng không thể thay đổi sau khi được khởi tạo. Do đó, các phương thức được sử dụng để chỉnh sửa danh sách không thể được sử dụng trên một chuỗi. Tuy nhiên, Python có một số hàm có thể thay thế ký tự trong chuỗi Python thay thế()Phương thức replace() trong Python được sử dụng để tìm và thay thế các ký tự trong một chuỗi. Nó yêu cầu một chuỗi con được truyền dưới dạng đối số; . Phương thức replace() thường được sử dụng trong việc làm sạch dữ liệu Tuy nhiên, các chuỗi đã cho là bất biến, hàm sẽ thay thế các ký tự trên bản sao của chuỗi gốc. Vì vậy, đảm bảo bạn lưu chuỗi mới trong trường hợp bạn có ý định sử dụng thêm Cú pháp thay thế() Ở đây “chuỗi” đề cập đến chuỗi bạn đang muốn thay thế các ký tự bằngTham số (Python thay thế ký tự trong chuỗi)
Mã và giải thích Đoạn mã trên cho kết quả như sau.
Như bạn có thể thấy chuỗi con đã được thay thế nhưng chuỗi ban đầu vẫn giữ nguyên. Ngoài ra, do chúng tôi không chỉ định đối số đếm, tất cả các lần xuất hiện đã được thay thế Chúng ta hãy xem trường hợp chúng ta thay thế nhiều phiên bản của một chuỗi
Trong đoạn mã trên, trước tiên chúng ta chỉ thay thế “p” một lần trong khi ở câu lệnh in thứ hai, chúng ta chưa chuyển đối số phản đối. Điều này có nghĩa là tất cả các lần xuất hiện sẽ được thay thế Ghi chú. Nếu số lượng không được chỉ định, phương thức thay thế () Giá trị trả vềPhương thức Giả sử chúng ta có một chuỗi chữ và số s chứa các chữ cái tiếng Anh viết thường ở vị trí chẵn và các chữ số ở vị trí lẻ của nó. Xét phép toán shift(c, x), trong đó c là ký tự bất kỳ và x là số (chữ số), thao tác này sẽ tìm ký tự thứ x sau c. Vì vậy, ví dụ, shift('p', 5) = 'u' và shift('a', 0) = 'a'. Bây giờ đối với mọi chỉ số lẻ i, chúng tôi muốn thay thế chữ số s[i] bằng shift(s[i-1], s[i]). Chúng ta phải tìm s sau khi thay thế tất cả các chữ số Vì vậy, nếu đầu vào giống như s = "a2b1d4f3h2", thì đầu ra sẽ là "acbcdhfihj" bởi vì
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
Chúng ta hãy xem triển khai sau đây để hiểu rõ hơn - Thí dụBản thử trực tiếp def solve(s): res="" for i in range(len(s)): if s[i].isdigit(): res+= chr(int(s[i])+ord(s[i-1])) else: res+=s[i] return res s = "a2b1d4f3h2" print(solve(s)) Đầu vào"a2b1d4f3h2" đầu raacbcdhfihj Thuật ngữ Mỗi ký tự, bất kể đó là chữ số Để giải thích hướng dẫn này, chúng tôi sẽ lấy một chuỗi các chữ cái trong bảng chữ cái và chuyển đổi nó thành một danh sách các số Sử dụng hàm ord() để chuyển đổi chữ cái thành số trong PythonHàm 2 để có được giá trị chính xác của ASCII Đoạn mã sau sử dụng hàm ________số 8_______ Đoạn mã trên cung cấp đầu ra sau Sử dụng l = "web" n = [ord(x) - 96 for x in l] print(n) 5 để chuyển đổi chữ cái thành số trong Python 6 là một cách tương đối ngắn hơn và tinh tế hơn để tạo các danh sách được hình thành dựa trên các giá trị đã cho của một danh sách đã tồn tại |