Computer >> Máy Tính >  >> Lập trình >> Python

Ánh xạ hàm và biểu thức Lambda trong Python để thay thế các ký tự


Chúng ta muốn thay thế một ký tự a1 bằng một ký tự a2 và a2 bằng a1. Ví dụ:

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

"puporials toinp"

và các ký tự p và t, chúng tôi muốn chuỗi kết thúc trông giống như -

"tutorials point"

Đối với điều này, chúng ta có thể sử dụng chức năng bản đồ và lambdas để thay thế. Hàm map (lambda, input) lặp qua từng mục được chuyển đến nó (ở dạng đầu vào có thể lặp lại) và áp dụng biểu thức lambda cho nó. Vì vậy, chúng ta có thể sử dụng nó như sau -

Ví dụ

def replaceUsingMapAndLambda(sent, a1, a2):
# We create a lambda that only works if we input a1 or a2 and swaps them.
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"))

Đầu ra

Điều này sẽ cung cấp đầu ra -

tutorials point