بکندباز

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

لیستی داریم که می خواهیم آن را به رشته متنی تبدیل کنیم. مانند نمونه های زیر:

همانطور که می بینید لیست می تواند شامل رشته یا عدد باشد.

ورودی: ['I', 'love', 'backendbaz']
خروجی: I love backendbaz

ورودی: ['I', 'have', 4, 'apples', 'and', 18, 'bananas']
خروجی: I have 4 apples and 18 bananas
Markup

روش های مختلفی برای تبدیل لیست به رشته وجود دارد که با هم بررسی می کنیم:

روش اول: چرخیدن درون اعضای لیست با استفاده از حلقه for و اضافه کردن اعضا به یک رشته خالی.

قبل از اضافه کردن هر عضو به رشته، آن را به رشته تبدیل می کنیم (برای مواردی که عضو لیست عددی است.)

def convertListToString(myList):
    text = '' #رشته خالی

    for i in myList:
        text = text + str(i) + " "
        
    return text

    

print(convertListToString(['I', 'love', 'backendbaz']))
print(convertListToString(['I', 'have', 4, 'apples', 'and', 18, 'bananas']))اجرای کد
Python

 

روش دوم: استفاده از متد ‎join()‎‎:

از متد ‎join()‎ برای کنار هم قرار دادن اعضای لیست و قرار دادن یک فاصله خالی میان آنها استفاده می کنیم:

def convertListToString(myList):
    return " ".join(myList)

print(convertListToString(['I', 'love', 'backendbaz']))
اجرای کد
Python

توجه! در صورتی که اعضای لیست عددی نیز باشند، روش بالا اروری در خروجی چاپ خواهد کرد. برای تبدیل اعضای لیست به رشته از یکی از دو روش زیر می توانیم در کنار متد join استفاده کنیم:

بیشتر بخوانید: تبدیل اسکریپت های پایتون به API بدون نیاز به سرور

روش سوم: استفاده از متد ‎join()‎ و تابع ‎map()‎:

از تابع ‎map()‎ برای تبدیل اعضای لیست به رشته استفاده می کنیم:

def convertListToString(myList):
    return " ".join(map(str, myList))

print(convertListToString(['I', 'love', 'backendbaz']))
print(convertListToString(['I', 'have', 4, 'apples', 'and', 18, 'bananas']))اجرای کد
Python

روش چهارم: استفاده از متد ‎join()‎ و list comprehension ها

def convertListToString(myList):
    return " ".join([str(l) for l in myList])

print(convertListToString(['I', 'love', 'backendbaz']))
print(convertListToString(['I', 'have', 4, 'apples', 'and', 18, 'bananas']))اجرای کد
Python

 

آموزش مرتبط:  حلقه تو در تو در پایتون

روش پنجم: استفاده از آرگومان end:

به سادگی می توانیم با استفاده از عملگر end در تابع print اعضای لیست را در کنار هم در خروجی چاپ کنیم:

myList = ['I', 'love', 'backendbaz']
for i in myList:
    print(i, end=" ")

print("") #newline

myList = ['I', 'have', 4, 'apples', 'and', 18, 'bananas']
for i in myList:
    print(i, end=" ")اجرای کد
Python

 

روش ششم: استفاده از متد functools.reduce:

from functools import reduce
s = ['I', 'have', 4, 'apples', 'and', 18, 'bananas']
 
listToStr = reduce(lambda a, b : a+ " " +str(b), s)
 
print(listToStr)اجرای کد
Python
backendbaz

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*

    aliurexa پاسخ

    دستتون درد نکنه

    MJN پاسخ

    بسیار عالی ممنون