接上篇,上篇請看本日推送的頭條
使用 .join進行字符串拼接
還有另一種更強大的方法將字符串連接在一起:join方法
最常見的情形是當有一個像是由字符串組成的可迭代列表,您想要把這些字符串列表合成一個字符串,這時候就需要用到.join方法。 與.split類似,.join也是一個字符串的實例方法。 如果您所有字符串都是可迭代的,那麼.join調用的對象是誰呢?
這是一個有點棘手的問題。 請記住,當您使用.split時,是在要分割的字符串或字符上調用它。而.join的操作正好相反,所以您要在想要用來連接可迭代字符串的字符串或字符上調用它:
Python代碼:
結果:
在這裡,我們使用逗號(,)拼接字符串列表的每個元素,並在其上調用.join而不是對字符串列表進行調用。
練習:“使用Join改進可讀性”
您如何讓輸出的文字更具可讀性?
答案:“使用Join改進可讀性”
可以在輸出加入空格:
Python代碼:
結果:
除了在連接字符串時添加空格外,不用做任何事情就可以大大提高輸出的可讀性。 在進行人機交互設計連接字符串,這一點您應該牢記住。
.join方法非常巧妙,因為它只是在您想要加入的可迭代字符串之間插入你的“連接符”,而不是在可迭代的每個字符串的末尾添加連接符。 這意味著如果您傳遞的是一個大小為1的迭代器,您將看不到連接符:
Python代碼:
結果:
練習: “章節理解檢查”
使用我們的網絡爬蟲教程,您已經構建了一個出色的天氣預報爬蟲代碼。 但是,所有的信息都存儲在由列表組成的列表中,您需要逐行將這些信息寫入到CSV文件中:
Python:
您的輸出應該是像這樣的單一字符串:
答案: “章節理解檢查”
下面是我的解決方案,以由列表組成的列表開始,以單一字符串結尾:
Python代碼:
合在一起來嘗試
到這裡為止,我們對Python中最基本的字符串操作(拆分,連接和拼接)做了基本的介紹,但還有一整套字符串方法可以使您更輕鬆地處理字符串。
在掌握了這些基本字符串操作後,您可能想了解更多信息。 正好我們還有許多很棒的教程可以幫助您掌握Python的各項功能,從而實現更精巧地的對字符串進行處理:
Python 3中的 f-Strings: 改進的字符串格式化語法
Python 字符串格式最佳實踐
Python中的字符串和字符數據
參加測驗:使用我們的交互式“Python語言中字符串的拆分,連接和拼接”測驗來測試您的知識。 完成後,您將得到評分,用來跟蹤您的學習進度
測驗:Python語言中字符串的拆分,連接和拼接
在這個測驗中,將會測試您在Python語言最基本的字符串操作:字符串的拆分、連接和拼接方面的掌握程度
開始測試:
1) Python語言中,字符串是…
字符矩陣
字符對象
不可改變的
可更改的
答案
字符對象 不可改變的
下一個問題
2)split 方法中, minsplit 參數指定了對輸入字符串進行的最少的拆分次數
正確
錯誤
答案
錯誤
解析:
split 方法有兩個參數: 被拆分的字符串和 maxsplit。 maxsplit 指定了對輸入字符串進行的最大拆分次數。
下一個問題
3)下面哪些選項將會對 input_string中的頭兩個字母‘e’進行拆分?
input_string.split("e", 2)
"e".split(input_string, 2)
input_string.split("e", maxsplit=2)
"e".split(input_string, maxsplit=2)
答案:
input_string.split("e", 2) 和 input_string.split("e", maxsplit=2)
下一個問題
4)寫一個Python函數 expand(x), 將輸入字符串列表進行連接,並將連接後的字符串重複三遍
例如:
輸入:["string1", "string2"]
輸出:"string1string2string1string2string1string2"
答案:
def expand(x):
return "".join(x)*3
下一個問題:
5)Python語言中的字符串有一個特性是“不可改變”,這是什麼意思?
Python中的字符串不能更改
Python中的字符串可以由字符矩陣表示
字符串不能被數字分割
Python中不能使用連接方法更新字符串
答案
Python中的字符串不能更改
解析:
字符串不可改變是Python字符串的關鍵屬性。 雖然字符串不能用數字分割這句話是對的,但這不是字符串不可改變的意思。 相反,不可改變意味著不能更改字符串。
下一個問題
6)如果想要將字符串列表 input_list變換為一個用逗號連接的單一字符串,下面哪一個應該做為 join方法的輸入?
string
input_string
","
str
答案
Input_string
解析:
要拼接的列表始終是 join方法的唯一輸入,它會做為調用拼接的字符串
Python代碼:
結果:
下一個問題
(7) 下面哪些數學運算符可以用在字符連接上:
*
+
-
/
答案:
* +
解析:
連接是一種增加的操作,因此不能從一個字符串中減去或者除以一個字符串
Kyle是自學成才的開發人員,在PatientsLikeMe擔任高級數據工程師,也是Danqex(前Nasdanq)和Encryptid Gaming的共同創始人。
更多關於 Kyle Stratis
你好!我是Kyle,一個Python開發人員,對大型數據集有點痴迷,我們可以從中搜集到什麼,以及如何去解決它們。我一直都在努力學習、建設、學習和教授這些知識。
我現在的興趣包括Python、圍棋、人工智能/機器學習、本體學和滑板。
英文原文:https://realpython.com/python-string-split-concatenate-join/譯者:Xindong
閱讀更多 Python部落 的文章