Chuỗi Python maketrans[]
Chuỗi maketrans[] trong Python là một hàm ánh xạ tích hợp giúp ánh xạ các ký tự của chuỗi thành chuỗi thay thế hay nói cách khác là bản dịch của chuỗi đó. maketrans[] là một phương thức trợ giúp cho phương thức translate[]. Nó hỗ trợ phương thức translate[] bằng cách trả về một bảng dịch được sử dụng cho ánh xạ một-một của các ký tự chuỗi
Nói một cách đơn giản, phương thức maketrans[] của Python là phương thức tĩnh tạo ánh xạ một-một của ký tự tới bản dịch/thay thế của nó
Nó tạo ra biểu diễn Unicode của từng ký tự để dịch
Ánh xạ dịch đó sau đó được sử dụng để thay thế ký tự bằng ký tự được ánh xạ của nó khi được sử dụng trong phương thức translate[]
cú pháp
Xem cú pháp sau
maketrans[ str_var1, str_var2, str_var3]
Các đối số được cung cấp là tùy chọn, nhưng phải có ít nhất một đối số
Thông số
Có ba thông số
Đầu tiên là str_var1;
Thứ hai là str_var 2. Nó chứa các ký tự mà các ký tự của str_var1 cần được thay thế
Thứ ba là tùy chọn, chỉ định các ký tự cần xóa khỏi danh sách chính
Giá trị trả về
Nó trả về một bảng chuyển tiếp được sử dụng bởi hàm translate[]
Chương trình ví dụ sử dụng phương thức maketrans[] trong python
ví dụ 1. Viết chương trình hiển thị hoạt động của phương thức maketrans[]
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]
đầu ra
➜ pyt python3 app.py {72: 71, 101: 105, 108: 108, 111: 115} ➜ pyt
ví dụ 2. Viết chương trình in bảng chuyển đổi, bao gồm tham số thứ ba, loại bỏ các ký tự khỏi chuỗi
# app.py h1 = "qwerty" h2 = "bowled" h3 = "qweled" h4 = "qwerty" print[h4.maketrans[h1, h2, h3]]
đầu ra
➜ pyt python3 app.py {113: None, 119: None, 101: None, 114: 108, 116: 101, 121: 100, 108: None, 100: None} ➜ pyt
Bảng dịch sử dụng từ điển với maketrans[]
Hãy sử dụng hàm maketrans[] với từ điển Python
Xem đoạn mã sau
# app.py dict = {"a": "219", "b": "211", "c": "229"} string = "kgb" print[string.maketrans[dict]] dict = {97: "219", 98: "211", 99: "229"} string = "kgb" print[string.maketrans[dict]]
đầu ra
➜ pyt python3 app.py {97: '219', 98: '211', 99: '229'} {97: '219', 98: '211', 99: '229'} ➜ pyt
Ở đây, từ điển dict được định nghĩa. Nó chứa ánh xạ của các ký tự a, b và c đến 219, 211 và 229, tương ứng
maketrans[] tạo ánh xạ thứ tự Unicode của ký tự sang bản dịch tương ứng của nó
Vì vậy, 97 ['a'] được ánh xạ tới '219', 98 'b' tới 211 và 99 'c' tới 229. Điều này có thể được chứng minh từ đầu ra của cả hai từ điển
Phần kết luận
Phương thức chuỗi Python maketrans[] trả về bảng dịch ánh xạ từng ký tự trong chuỗi intab thành một ký tự ở cùng vị trí trong chuỗi outtab. Sau đó, bảng này được chuyển đến hàm translate[]. Một điều cần lưu ý là bcả intab và outtab phải có cùng độ dài.
Đó là nó cho bài viết này
Bài viết trước Cách xóa khóa khỏi từ điển trong Python
Bài viết tiếp theo Hàm setattr[] của Python. Hướng dẫn đầy đủ
Ankit Lathiya
Ankit Lathiya là Bậc thầy về Ứng dụng Máy tính theo chuyên môn và là Nhà phát triển Android và Laravel chuyên nghiệp, đồng thời là một trong những tác giả của blog này
Trong thế giới lập trình, hiếm khi có nhu cầu thay thế tất cả các từ/ký tự cùng một lúc trong toàn bộ tệp. Python cung cấp chức năng này bằng cách sử dụng các hàm translate[] và các hàm trợ giúp maketrans[] của nó. Cả hai chức năng được thảo luận trong bài viết này
maketrans[]
hàm maketrans[] được sử dụng để xây dựng bảng chuyển tiếp i. e chỉ rõ danh sách các ký tự cần thay thế trong cả chuỗi hoặc các ký tự cần xóa khỏi chuỗi
cú pháp. maketrans[str1, str2, str3]
Thông số.
str1. Chỉ định danh sách các ký tự cần được thay thế.
str2. Chỉ định danh sách các ký tự mà các ký tự cần được thay thế.
str3. Chỉ định danh sách các ký tự cần xóa.trả lại. Trả về bảng dịch chỉ định các chuyển đổi có thể được sử dụng bởi translate[]
Dịch sử dụng maketrans[]
Để dịch các ký tự trong chuỗi translate[] được sử dụng để thực hiện các bản dịch. Hàm này sử dụng ánh xạ dịch được chỉ định bằng maketrans[]
cú pháp. dịch [bảng, delstr]
Thông số.
bảng. Bản đồ dịch được chỉ định để thực hiện các bản dịch.
delstr. Chuỗi xóa có thể được chỉ định làm đối số tùy chọn không được đề cập trong bảng.trả lại. Trả về chuỗi đối số sau khi thực hiện các bản dịch bằng bảng dịch
Mã số 1. Mã để dịch sử dụng translate[] và maketrans[].
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]4
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]5
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]6
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]7
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]8
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]9
➜ pyt python3 app.py {72: 71, 101: 105, 108: 108, 111: 115} ➜ pyt0
➜ pyt python3 app.py {72: 71, 101: 105, 108: 108, 111: 115} ➜ pyt1
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]7
The string before translating is : weeksyourweeks The string after translating is : geeksforgeeks1
The string before translating is : weeksyourweeks The string after translating is : geeksforgeeks2
➜ pyt python3 app.py {72: 71, 101: 105, 108: 108, 111: 115} ➜ pyt0
The string before translating is : weeksyourweeks The string after translating is : geeksforgeeks4
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]7
The string before translating is : weeksyourweeks The string after translating is : geeksforgeeks6
The string before translating is : weeksyourweeks The string after translating is : geeksforgeeks7
➜ pyt python3 app.py {72: 71, 101: 105, 108: 108, 111: 115} ➜ pyt0
The string before translating is : weeksyourweeks The string after translating is : geeksforgeeks9
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]7
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]41
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]42
➜ pyt python3 app.py {72: 71, 101: 105, 108: 108, 111: 115} ➜ pyt0
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]44
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]7
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]46
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]47
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]48
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]49
➜ pyt python3 app.py {72: 71, 101: 105, 108: 108, 111: 115} ➜ pyt0
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]51
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]7
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]53
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]54
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]55
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]56______157
➜ pyt python3 app.py {72: 71, 101: 105, 108: 108, 111: 115} ➜ pyt0
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]59
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]54
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]61
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]7
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]63
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]54
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]55
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]66
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]57
➜ pyt python3 app.py {72: 71, 101: 105, 108: 108, 111: 115} ➜ pyt0
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]59
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]54
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]71
đầu ra
The string before translating is : weeksyourweeks The string after translating is : geeksforgeeks
Dịch mà không cần maketrans[]
Bản dịch cũng có thể đạt được bằng cách chỉ định từ điển dịch và chuyển dưới dạng một đối tượng hoạt động như một ánh xạ. Trong trường hợp này, không cần maketrans[] để thực hiện các bản dịch
Mã số 2. Mã để dịch mà không cần maketrans[].
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]4
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]73
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]74
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]7
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]76
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]77
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]49
➜ pyt python3 app.py {72: 71, 101: 105, 108: 108, 111: 115} ➜ pyt0
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]80
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]81
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]82
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]83
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]84
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]85
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]82
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]87
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]84
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]89
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]82
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]91
# app.py h1 = "Hello" h2 = "Girls" str_var = "Hello" print[str_var.maketrans[h1, h2]]92