وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

Python: تبدیل لیست به رشته با join()

0 72
زمان لازم برای مطالعه: 3 دقیقه


داده ها اشکال و اشکال مختلفی دارند – یکی از رایج ترین ساختار داده ها لیست ها/آرایه ها. رشته های اساساً دنباله ای از کاراکترهای الفبایی هستند. موازی بین اینها آشکار است و ما اغلب بین یکی و دیگری تبدیل می کنیم.

در این راهنما، ما نگاهی به روش تبدیل/جمع آوری لیست به رشته در پایتون خواهیم داشت.

تبدیل لیست به رشته در پایتون با join()

رویکرد کلی که استفاده می کنید این است join() عملکرد، با چند گزینه برای انتخاب. تابع فراخوانی می شود روی رشته ای که یک جداکننده را نشان می دهد – و این جداکننده بین آنها اضافه می شود همه موارد پیوست شده

توجه داشته باشید: اگرچه می‌توانید یک جداکننده را از قبل تعریف کنید، اما معمولاً فقط به عنوان یک رشته خالی نمونه‌سازی می‌شود، که بر اساس آن join() تابع نامیده می شود.

بیایید نگاهی به لیستی از شخصیت هایی بیندازیم که می خواهیم به آنها بپیوندیم:

base_list = ('M', 'K', 'V', 'N', 'L', 'I', 'L', 'F', 'S', 'L', 'L', 'V')

ساده‌ترین راه برای پیوستن این موارد به یک رشته، ارسال لیست به رشته است join() تابع:

string = "".join(base_list)
print(string)

این نتیجه در:

MKVNLILFSLLV

ما به چند کاراکتر ملحق شده‌ایم که اسیدهای آمینه موجود در شروع توالی پروتئین موجود در باکتری E. coli را نشان می‌دهند!

هر یک از این عناصر از نوع خود هستند str، بنابراین هیچ مشکلی در قرار دادن این موارد در یک رشته وجود ندارد. اگرچه، گاهی اوقات، ممکن است بخواهید یک عنصر خاص را به نوع دیگری تبدیل کنید.

پیشنهاد می‌کنیم بخوانید:  دریافت تاریخ امروز در YYYY-MM-DD در Python

علاوه بر این، اگر از یک جداکننده متفاوت استفاده می کنید، می توانید یک نمایش متفاوت نیز دریافت کنید:

string = ", ".join(base_list)

این نتیجه در:

M, K, V, N, L, I, L, F, S, L, L, V

تبدیل لیست به رشته در پایتون با درک لیست

توجه داشته باشید: پایتون به طور ضمنی هر نوع داده ای را که می تواند تبدیل می کند، بنابراین در بیشتر موارد نیازی به تبدیل صریح آنها نخواهید داشت.

اگر مجبور به تبدیل عناصر هستید، می توانید به سادگی از درک لیست استفاده کنید:

string = "".join(str(element) for element in base_list)

هر عنصر در لیست اکنون از طریق عبور داده می شود str() تابع، که آنها را به یک رشته تبدیل می کند. شما می توانید این را با هر عملکرد دیگری، از جمله موارد سفارشی، جایگزین کنید. به عنوان مثال، بیایید تابعی ایجاد کنیم که هر عنصر را با حروف بزرگ در حالت “خاموش شانس” بنویسیم، یک عنصر آنطور که باید با حروف بزرگ نوشته نمی شود:

base_list = ('m', 'K', 'V', 'N', 'L', 'I', 'L', 'f', 'S', 'L', 'L', 'V')

def capitalize_char(char):
    return char.upper()

string = "".join(capitalize_char(element) for element in base_list)

print(string)

m و f به حروف کوچک تبدیل شده اند، که نباید اتفاق می افتاد. ما در capitalize_char() تابع را در درک لیست، بازگرداندن نسخه با حروف بزرگ هر عنصری که در آن ارسال کرده ایم.

MKVNLILFSLLV

تبدیل لیست به رشته در پایتون با map()

در نهایت، برای یک روش تمیزتر و آسان تر برای عبور عناصر از طریق یک تابع – می توانیم استفاده کنیم map(). به طور کلی، map() تابع برای نگاشت مقادیر یک مجموعه به مجموعه دیگر، معمولاً با استفاده از قالب متفاوت (یا حتی کاهش یافته) استفاده می شود.

پیشنهاد می‌کنیم بخوانید:  استفاده از cURL در پایتون با PycURL

به عنوان مثال، می توانید هر کاراکتر را به لیست دیگری از بولی ها نگاشت کنید، جایی که هر بولی نشان دهنده بزرگ بودن یا نبودن کاراکتر است.

البته، همیشه می‌توانید نقشه‌برداری 1 به 1 را با استفاده از map() تابع و خوب، فقط یک رشته را به یک رشته نگاشت، و آنها را به یک رشته متصل کنید:

base_list = ('M', 'K', 'V', 'N', 'L', 'I', 'L', 'F', 'S', 'L', 'L', 'V')

string = "".join(map(str, base_list))

print(string)

این نتیجه در:

MKVNLILFSLLV

اگر می‌خواهید درباره نقشه‌برداری در پایتون اطلاعات بیشتری کسب کنید، راهنمای ما برای map()، filter() و reduce() در پایتون را بخوانید!

نتیجه

در این راهنمای کوتاه، ما نگاهی به روش تبدیل یک لیست به رشته در پایتون، جمع آوری عناصر در یک قطعه واحد انداخته ایم.

رشته‌ها ذاتاً فهرستی از کاراکترها هستند و تقریباً به همان شیوه رفتار می‌کنند، اما می‌توان آنها را به‌عنوان عناصر جداگانه نیز در نظر گرفت.

شما یاد گرفته اید که چگونه از آن استفاده کنید join() عملکرد به شکل ساده خود، و همچنین روش استفاده از آن با درک لیست، روش های سفارشی و map() تابع!

(برچسب‌ها به ترجمه)# python



منتشر شده در 1403-01-08 00:47:05

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید