Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฟังก์ชันแมปและนิพจน์แลมบ์ดาใน Python เพื่อแทนที่อักขระ


เราต้องการแทนที่อักขระ a1 ด้วยอักขระ a2 และ a2 ด้วย a1 ตัวอย่างเช่น

สำหรับสตริงอินพุต

"puporials toinp"

และอักขระ p และ t เราต้องการให้สตริงสิ้นสุดมีลักษณะดังนี้ -

"tutorials point"

สำหรับสิ่งนี้ เราสามารถใช้ฟังก์ชันแผนที่และแลมบ์ดาเพื่อทำการแทนที่ได้ ฟังก์ชัน map (แลมบ์ดา, อินพุต) วนซ้ำในแต่ละรายการที่ส่งผ่านไปยังมัน (ในรูปแบบของอินพุตที่วนซ้ำได้) และใช้นิพจน์แลมบ์ดากับมัน ดังนั้นเราจึงสามารถใช้มันได้ดังนี้ −

ตัวอย่าง

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"))

ผลลัพธ์

สิ่งนี้จะให้ผลลัพธ์ -

tutorials point