網站首頁 編程語言 正文
在這個簡短的教程中,我會介紹將python列表轉換為字符串的不同方法。
為什么要將python列表轉換為字符串?
將python列表轉換為字符串是一種常見的情況,盡管我遇到的最常見的用例是將一個iterable轉換為一個字符串,以便可以顯示它。Python為我們提供了多種將python列表轉換為字符串的方法,這些方法沒有特定的比較限制,因此只能歸結為程序員對方法的理解和滿意。
順便說一句,如果你是初學者,我將推薦此解決方案。但是,如果你有興趣學習它們,請隨時閱讀所有它們。
將python列表轉換為字符串的方法
使用join():
將python列表轉換為字符串的最常見和pythonic方法是使用join()方法。實際上,join()存在促進相同的方法。它接受可迭代對象,將它們加入并以字符串形式返回。但是,iterable中的值應為string數據類型,并且如果你包含iterable int,則可以使用第二種方法。
Join()的語法:
string.join(iterable)
這里string指的是所需的分隔符
范圍:
iterable -任何可迭代的-列表,元組,集合等
使用join()將python列表轉換為字符串的代碼:
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列表轉換為字符串的方法,join()但是當你處理的可迭代對象包含int值時,可以使用此方法。由于這些join()方法僅接受字符串值,因此在將python列表轉換為字符串之前,我們使用map()來將這些int值轉換為字符串。這些map()方法對Iterable中的所有值執行特定的功能。
map()的語法:
map(function, iterables)
范圍:
function -你希望執行的特定功能
iterable -包含值的可迭代對象
因此,通過傳遞str()將對象轉換為字符串的函數,我們可以轉換int值,然后將它們連接為字符串。
使用map()將python列表轉換為字符串的代碼:
flexiple = ["Hire", "the", "top", 10, "python","freelancers"] print(" ".join(map(str,flexiple)))
使用循環:
將python列表轉換為字符串的第三種方法是編寫一個循環,并將每次迭代添加到字符串中。我建議這種方法的情況下,你是新來的Python和不熟悉的概念,如join(),map()等的代碼可能會更長,但是這將是一個初學者更具有可讀性。
flexiple = ["Hire", "the", "top", 10, "python","freelancers"] f1 = "" for i in flexiple: f1 += str(i)+ " " print(f1)
補充:python列表轉字符串的一個小技巧
列表轉字段這聽起來應該很簡單吧,比如下面的例子:
a = ['aa','bb','cc'] b = ''.join(a) print(b) # 'aabbcc'
但是當列表中有非字符串時,大概率會報錯了。因為join是將字符串拼接。
那應該怎么辦呢?
可以利用map函數,將列表中的數字轉為字符串。
a = [1,2,3] b = map(str, a) c = ''.join(b) print(c) # '123'
普及一下map函數:
map(func,iterable)
接收一個函數和一個可迭代對象,將這個函數作用于可迭代對象的每個元素,生成一個符合函數規則的新列表。func可以是python內置函數類型,也可自定義(一般用lambda函數表示)
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']
總結想法和建議
將python列表轉換為字符串很可能不是一次性過程,最佳實踐是定義一個返回輸出的函數。就像我提到的那樣,可以用來衡量的并沒有明顯的限制,你可以根據自己對主題的舒適度來選擇一種方法。一旦你對使用它們感到滿意,請嘗試以列表理解的方式實現它們。
原文鏈接:https://blog.csdn.net/weixin_53185043/article/details/117336560
相關推薦
- 2022-10-08 ASP.NET泛型三之使用協變和逆變實現類型轉換_實用技巧
- 2022-10-18 go日志庫中的logrus_Golang
- 2022-09-10 Python遞歸實現猴子吃桃問題及解析_python
- 2022-12-21 C++強制轉換與智能指針示例詳解_C 語言
- 2022-02-28 docker安裝17.03.0版本報錯 ->軟件包 docker-ce-selinux 已經被 do
- 2022-07-21 UNION 和 UNION ALL的區別
- 2022-08-29 Python?GUI?圖形用戶界面_python
- 2022-07-30 Linux下查看文件和文件夾大小
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支