Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Hàm Map và biểu thức Lambda trong Python để thay thế ký tự

Ta muốn thay thế ký tự a1 bằng a2 và a2 bằng a1. Ví dụ,

Đối với chuỗi đầu vào,

"puporials toinp"

và ký tự p và t, ta muốn chuỗi kết quả trông như −

"tutorials point"

Để làm này ta dùng hàm map và lambda để thực hiện thay thế. Hàm map(lambda, input) lặp qua từng mục truyền vào (dạng iterable) và áp dụng biểu thức lambda cho nó. Vì vậy ta dùng như sau −

Ví dụ

def replaceUsingMapAndLambda(sent, a1, a2): # Tạo lambda chỉ hoạt động nếu nhập a1 hoặc a2 và hoán đổi chúng. newSent = map(lambda x: x if (x != a1 and x != a2) else a1 if x == a2 else a2, sent) return ''.join(newSent) print(replaceUsingMapAndLambda("puporials toinp", "p", "t"))

Kết quả

Điều này sẽ cho kết quả −

tutorials point