۲۲ ترفند پایتون برای کار با رشته ها – راهنمای کاربردی
دستکاری رشتهها کاری است که برنامهنویسان پایتون به وفور انجام میدهند. در این نوشته با 22 ترفند پایتون برای کار با رشته ها آشنا خواهیم شد. در همه این مثالها از پایتون نسخه 3 استفاده شده است. در زمان نگارش این نوشته جدیدترین نسخه پایتون، نسخه 3.8.2 بوده است.

یافتن یک عبارت درون یک رشته
با استفاده از مقایسهگر داخلی پایتون به نام in میتوانیم بفهمیم که آیا یک عبارت درون یک رشته وجود دارد یا نه.
این عملگر مقدار true یا false بازگشت میدهد.
معکوس ساختن یک رشته
بررسی برابر بودن دو رشته
بررسی برابر بودن با استفاده از عملگر == موجب میشود که متوجه شویم دو شیء مقدار یکسانی دارند یا نه. برای مقایسه هویت از عملگر is استفاده میکنیم تا متوجه شویم آیا دو شیء یکی و یکسان هستند یا نه.
حالتهای مختلف کوچکی/بزرگی حروف در رشتهها
پایتون برخی تابعهای داخلی دارد که میتوان از آنها برای تغییر حالت حروف یک رشته استفاده کرد.
الحاق کارآمد رشتهها در هم
استفاده از join روی یک رشته خالی موجب الحاق پارامترها میشود.
این تابع تعداد متغیری از آرگومانها را با استفاده از نشانگر * دریافت میکند.
بررسی خالی بودن رشته
یک شیء string کاملاً معمولی میتواند شامل 0 کاراکتر باشد یا همه کاراکترهای آن فضای خالی باشند و یا حتی یک شیء از نوع None باشد. این تابع میتواند برای تست این مسئله استفاده شود که آیا رشته شامل محتوای کاراکتری یا بایتی است.
حذف فضاهای خالی ابتدا و انتهای رشته
تابع زیر یک سهتایی بازگشت میدهد که هر عنصر شامل یک نسخه از string اصلی است اما در هر کدام از آنها فضاهای خالی رشته به ترتیبی جدا شدهاند. در خط 6 میبینیم که پایتون گزارههایی که مقدار را به متغیرهای چندگانه نسبت میدهند درک کرده است.

تولید یک رشته از کاراکترهای تصادفی
امکان استفاده از ماژول secrets برای تولید گزینههای تصادفی از کاراکترها و افزودن آنها به یک رشته وجود دارد.
خواندن خطوط یک فایل به یک لیست
در کد زیر شیء فایلخوان f به طور صریح به یک لیست تبدیل شده است. توجه کنید که ما فایل را در حالت ‘r’ برای read-only بودن باز نکردهایم.
توکندار کردن کامل یک جمله
توکندار کردن یک رویه در پردازش زبان طبیعی است که در طی آن همه توکنها در یک جمله مانند علائم سجاوندی بازگشت مییابند. در کد زیر از NLTK استفاده کردهایم که باید به صورت مجزا نصب شود.
اجرای کد پایتون موجود درون یک رشته
یافتن عبارت بین دو علامت
به این منظور از «عبارتهای منظم» (regular expressions) و F-String-ها استفاده کردهایم.
حذف همه علائم سجاوندی از یک رشته
این ماژول رشته شامل لیستی از کاراکترهای سجاوندی است. با استفاده از translate (نکته شماره 21 را ببینید) میتوانیم آنها را از رشته حذف کنیم.
انکود و دیکد کردن URL-های UTF-8
UTF-8 به ما امکان میدهد که از کاراکترهای بسطیافته و دابل-ورد مانند ایموجیها استفاده کنیم.
این کاراکترها پیش از آن که در یک URL استفاده شوند، باید انکود شوند.
استفاده از انکودینگ Base64 روی رشتهها
Base64 یک متد برای انکود کردن دادههای دودویی به صورت یک رشته و انتقال در پیامهای متنی است. از آن میتوان برای انکود کردن رشتههای UTF-8 نیز استفاده کرد.

محاسبه مشابهت بین دو رشته
برای محاسبه مشابهت بین دو رشته، جدا از استفاده از «مسافت لوناشتاین» (Levenshtein distance) در nltk.edit_distance میتوان از کتابخانه difflib نیز استفاده کرد. مقدار 1.0 به معنی برابری دقیق است.
حذف یک کاراکتر از یک اندیس خاص
تبدیل CSV به لیست و برعکس
خط 3 کد فوق یک لیست تولید میکند و خط ورودی را هر بار که با جداکننده (,) مواجه شود میشکند. اکنون عکس این کار را اجرا میکنیم و یک لیست را به خط CSV تبدیل میکنیم.
الحاق یک در میان کاراکترهای دو رشته
با استفاده از متد zip_longest از ماژول itertools میتوانیم دو رشته با طولهای نابرابر را به صورت کاراکترهای یک در میان از هر یک از رشتهها در هم الحاق کنیم. این راهحل در خروجی یک «خلاصه لیست» (list comprehension) ارائه میکند که رشته I + j را در هم ادغام کرده است.
حذف کاراکترهای ناخواسته از یک رشته
یافتن اندیس موقعیت یک کاراکتر در رشته
در این راهکار از یک «خلاصه لیست» (list comprehension) به همراه یک فیلتر با استفاده از if بهره میگیریم.
ترجمه رشته به کاراکترهای جایگزین
با استفاده از تابعهای maketrans و translate میتوانیم یک رشته را به حالت بهرهگیری از کاراکترهای جایگزین تبدیل کنیم.
به این ترتیب به پایان این مقاله با عنوان 22 ترفند پایتون برای کار با رشتهها میرسیم.
مطالب مجله فرادرس را در جستجوی گوگل سریعتر ببینید












