如何將Python列表轉(zhuǎn)換為字符串
在這個(gè)簡(jiǎn)短的教程中,我會(huì)介紹將python列表轉(zhuǎn)換為字符串的不同方法。
為什么要將python列表轉(zhuǎn)換為字符串?
將python列表轉(zhuǎn)換為字符串是一種常見的情況,盡管我遇到的最常見的用例是將一個(gè)iterable轉(zhuǎn)換為一個(gè)字符串,以便可以顯示它。Python為我們提供了多種將python列表轉(zhuǎn)換為字符串的方法,這些方法沒有特定的比較限制,因此只能歸結(jié)為程序員對(duì)方法的理解和滿意。
順便說一句,如果你是初學(xué)者,我將推薦此解決方案。但是,如果你有興趣學(xué)習(xí)它們,請(qǐng)隨時(shí)閱讀所有它們。
將python列表轉(zhuǎn)換為字符串的方法
使用join():
將python列表轉(zhuǎn)換為字符串的最常見和pythonic方法是使用join()方法。實(shí)際上,join()存在促進(jìn)相同的方法。它接受可迭代對(duì)象,將它們加入并以字符串形式返回。但是,iterable中的值應(yīng)為string數(shù)據(jù)類型,并且如果你包含iterable int,則可以使用第二種方法。
Join()的語法:
string.join(iterable)
這里string指的是所需的分隔符
范圍:
iterable -任何可迭代的-列表,元組,集合等
使用join()將python列表轉(zhuǎn)換為字符串的代碼:
flexiple = ["Hire", "the", "top", "freelancers"] print(" ".join(flexiple))
由于分隔符是一個(gè)空格(“),因此字符串包含列表中的字符,這些字符之間用字符串分隔。
如前所述,嘗試join在包含的可迭代對(duì)象上使用int會(huì)返回typeerror。下一個(gè)解決方案將向你展示如何繞過此操作。
flexiple = ["Hire", "the", "top", 10, "python","freelancers"] print(" ".join(flexiple))
使用join()和map():
此方法map()也可以使用將python列表轉(zhuǎn)換為字符串的方法,join()但是當(dāng)你處理的可迭代對(duì)象包含int值時(shí),可以使用此方法。由于這些join()方法僅接受字符串值,因此在將python列表轉(zhuǎn)換為字符串之前,我們使用map()來將這些int值轉(zhuǎn)換為字符串。這些map()方法對(duì)Iterable中的所有值執(zhí)行特定的功能。
map()的語法:
map(function, iterables)
范圍:
function -你希望執(zhí)行的特定功能
iterable -包含值的可迭代對(duì)象
因此,通過傳遞str()將對(duì)象轉(zhuǎn)換為字符串的函數(shù),我們可以轉(zhuǎn)換int值,然后將它們連接為字符串。
使用map()將python列表轉(zhuǎn)換為字符串的代碼:
flexiple = ["Hire", "the", "top", 10, "python","freelancers"] print(" ".join(map(str,flexiple)))
使用循環(huán):
將python列表轉(zhuǎn)換為字符串的第三種方法是編寫一個(gè)循環(huán),并將每次迭代添加到字符串中。我建議這種方法的情況下,你是新來的Python和不熟悉的概念,如join(),map()等的代碼可能會(huì)更長(zhǎng),但是這將是一個(gè)初學(xué)者更具有可讀性。
flexiple = ["Hire", "the", "top", 10, "python","freelancers"] f1 = "" for i in flexiple: f1 += str(i)+ " " print(f1)
補(bǔ)充:python列表轉(zhuǎn)字符串的一個(gè)小技巧
列表轉(zhuǎn)字段這聽起來應(yīng)該很簡(jiǎn)單吧,比如下面的例子:
a = ['aa','bb','cc'] b = ''.join(a) print(b) # 'aabbcc'
但是當(dāng)列表中有非字符串時(shí),大概率會(huì)報(bào)錯(cuò)了。因?yàn)閖oin是將字符串拼接。
那應(yīng)該怎么辦呢?
可以利用map函數(shù),將列表中的數(shù)字轉(zhuǎn)為字符串。
a = [1,2,3] b = map(str, a) c = ''.join(b) print(c) # '123'
普及一下map函數(shù):
map(func,iterable)
接收一個(gè)函數(shù)和一個(gè)可迭代對(duì)象,將這個(gè)函數(shù)作用于可迭代對(duì)象的每個(gè)元素,生成一個(gè)符合函數(shù)規(guī)則的新列表。func可以是python內(nèi)置函數(shù)類型,也可自定義(一般用lambda函數(shù)表示)
a = map(lambda x: x +1, [1, 2, 3, 4, 5]) print(a) #[2,3,4,5,6] b = map(str, [1,2,3]) print(b) #['1','2','3']
總結(jié)想法和建議
將python列表轉(zhuǎn)換為字符串很可能不是一次性過程,最佳實(shí)踐是定義一個(gè)返回輸出的函數(shù)。就像我提到的那樣,可以用來衡量的并沒有明顯的限制,你可以根據(jù)自己對(duì)主題的舒適度來選擇一種方法。一旦你對(duì)使用它們感到滿意,請(qǐng)嘗試以列表理解的方式實(shí)現(xiàn)它們。
到此這篇關(guān)于如何將Python列表轉(zhuǎn)換為字符串的文章就介紹到這了,更多相關(guān)Python列表轉(zhuǎn)字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django中日期時(shí)間型字段進(jìn)行年月日時(shí)分秒分組統(tǒng)計(jì)
這篇文章主要介紹了Django中日期時(shí)間型字段進(jìn)行年月日時(shí)分秒分組統(tǒng)計(jì),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11由面試題加深對(duì)Django的認(rèn)識(shí)理解
這篇文章主要介紹了由面試題加深對(duì)Django的認(rèn)識(shí),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07利用Python+阿里云實(shí)現(xiàn)DDNS動(dòng)態(tài)域名解析的方法
這篇文章主要介紹了利用Python+阿里云實(shí)現(xiàn)DDNS動(dòng)態(tài)域名解析的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-04-04python基礎(chǔ)知識(shí)之try...except...的詳細(xì)用法實(shí)例
在各種編程語言進(jìn)行工作和學(xué)習(xí)的過程中,都會(huì)有一些錯(cuò)誤異常,下面這篇文章主要給大家介紹了關(guān)于python基礎(chǔ)知識(shí)之try...except...的詳細(xì)用法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08Python定時(shí)發(fā)送天氣預(yù)報(bào)郵件代碼實(shí)例
這篇文章主要介紹了Python定時(shí)發(fā)送天氣預(yù)報(bào)郵件代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09Python實(shí)現(xiàn)動(dòng)態(tài)條形圖繪制的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用Python語言實(shí)現(xiàn)動(dòng)態(tài)條形圖的繪制,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-08-08