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