Python語言中字符串的拆分,連接及拼接(下篇)

Python语言中字符串的拆分,连接及拼接(下篇)

接上篇,上篇請看本日推送的頭條

使用 .join進行字符串拼接

還有另一種更強大的方法將字符串連接在一起:join方法

最常見的情形是當有一個像是由字符串組成的可迭代列表,您想要把這些字符串列表合成一個字符串,這時候就需要用到.join方法。 與.split類似,.join也是一個字符串的實例方法。 如果您所有字符串都是可迭代的,那麼.join調用的對象是誰呢?

這是一個有點棘手的問題。 請記住,當您使用.split時,是在要分割的字符串或字符上調用它。而.join的操作正好相反,所以您要在想要用來連接可迭代字符串的字符串或字符上調用它:

Python代碼:

Python语言中字符串的拆分,连接及拼接(下篇)

結果:

Python语言中字符串的拆分,连接及拼接(下篇)

在這裡,我們使用逗號(,)拼接字符串列表的每個元素,並在其上調用.join而不是對字符串列表進行調用。

練習:“使用Join改進可讀性”

您如何讓輸出的文字更具可讀性?

答案:“使用Join改進可讀性”

可以在輸出加入空格:

Python代碼:

結果:

除了在連接字符串時添加空格外,不用做任何事情就可以大大提高輸出的可讀性。 在進行人機交互設計連接字符串,這一點您應該牢記住。

.join方法非常巧妙,因為它只是在您想要加入的可迭代字符串之間插入你的“連接符”,而不是在可迭代的每個字符串的末尾添加連接符。 這意味著如果您傳遞的是一個大小為1的迭代器,您將看不到連接符:

Python代碼:

Python语言中字符串的拆分,连接及拼接(下篇)

結果:

Python语言中字符串的拆分,连接及拼接(下篇)

練習: “章節理解檢查”

使用我們的網絡爬蟲教程,您已經構建了一個出色的天氣預報爬蟲代碼。 但是,所有的信息都存儲在由列表組成的列表中,您需要逐行將這些信息寫入到CSV文件中:

Python:

Python语言中字符串的拆分,连接及拼接(下篇)

您的輸出應該是像這樣的單一字符串:

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代碼:

Python语言中字符串的拆分,连接及拼接(下篇)

結果:

Python语言中字符串的拆分,连接及拼接(下篇)

下一個問題

(7) 下面哪些數學運算符可以用在字符連接上:

  • *

  • +

  • -

  • /

答案:

* +

解析:

連接是一種增加的操作,因此不能從一個字符串中減去或者除以一個字符串

Kyle是自學成才的開發人員,在PatientsLikeMe擔任高級數據工程師,也是Danqex(前Nasdanq)和Encryptid Gaming的共同創始人。

更多關於 Kyle Stratis

你好!我是Kyle,一個Python開發人員,對大型數據集有點痴迷,我們可以從中搜集到什麼,以及如何去解決它們。我一直都在努力學習、建設、學習和教授這些知識。

我現在的興趣包括Python、圍棋、人工智能/機器學習、本體學和滑板。

英文原文:https://realpython.com/python-string-split-concatenate-join/
譯者:Xindong


分享到:


相關文章: