با داشتن نگاشت کاراکترهایی که باید با مقادیر متناظر جایگزین شوند، می خواهیم همه جایگزینها را در یک خط انجام دهیم.
ورودی فرضی: test_str = 'backendbaz is best', map_dict = {'e':'1', 'b':'6'}
Output : 6ack1nd6az is 61st
توضیح: همه حروف e باعدد 1 و همه حروف b با عدد 6 جایگزین شده اند.
روش شماره 1: استفاده از متد join() به همراه generator expression
در این روش، کاراکترهای موجود در دیکشنری را دریافت کرده و با دسترسی به دیکشنری آنها را به مقادیرشان map می کنیم، همه کاراکترهای دیگر بدون تغییر اضافه می شوند و نتیجه با استفاده از متد join() به رشته تبدیل می شود.
خروجی
The original string is : backendbaz is best
The converted string : 6ack1nd6az 4s 61st
روش شماره 2: استفاده از regex + lambda
این روش پیچیده تری برای حل این مسئله است. در این روش، ما regex مناسب را با استفاده از توابع لامبدا می سازیم و عملیات جایگزینی مورد نیاز را انجام می دهیم.
خروجی
The original string is : backendbaz is best
The converted string : 6ack1nd6az 4s 61st
روش شماره 3: استفاده از متدهای keys() و replace()
خروجی
The original string is : backendbaz is best
The converted string : 6ack1nd6az 4s 61st
دیدگاهها