Python加入列表

Python的join()函數用於將一個由指定分隔符連接的字符串列表拼接成一個字符串。有時候當你需要將列表轉換為字符串時,這個函數非常有用。例如,將一個字母表的列表轉換為以逗號分隔的字符串以保存在文件中。

Python列表拼接

我們可以使用python字符串的join()函數來拼接字符串列表。這個函數以可迭代對象作為參數,而列表是一個可迭代對象,因此我們可以將其與列表一起使用。同時,列表應該包含字符串,如果你試圖拼接一個由整數組成的列表,則會得到一個錯誤消息,如TypeError: sequence item 0: expected str instance, int found。讓我們看一個簡單的例子,來拼接Python中的列表以創建一個字符串。

vowels = ["a", "e", "i", "o", "u"]

vowelsCSV = ",".join(vowels)

print("Vowels are = ", vowelsCSV)

當我們運行上述程序時,它將產生以下輸出。

Vowels are =  a,e,i,o,u

Python拼接兩個字符串

我們也可以使用join()函數來拼接兩個字符串。

message = "Hello ".join("World")

print(message) #prints 'Hello World'

為什麼 join() 函數在 String 而不是在 List 中?

許多 Python 開發人員都會提出一個問題,為什麼 join() 函數是屬於 String 而不是 List 的一部分。下面的語法會更容易記憶和使用嗎?

vowelsCSV = vowels.join(",")

有一個流行的 StackOverflow 問題 與此相關,我在這裡列出了討論中對我來說非常有意義的最重要的觀點。

主要原因是 join() 函數 可以與任何 可迭代對象一起使用,結果始終是一個 String,因此將此函數放在 String API 中而不是放在所有可迭代類中是有意義的。

加入多個數據類型的列表

讓我們看一個程式,我們將嘗試加入具有多個數據類型的列表項目。

names = ['Java', 'Python', 1]
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

讓我們看看這個程式的輸出: 這只是一個示範,一個包含多種資料類型的列表無法使用join()函數組合成單個字符串列表必須僅包含字符串值

使用join函數拆分字符串

我們還可以使用join()函數以指定的分隔符拆分字符串。

names = 'Python'
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

這表明當字符串作為join()函數的參數傳遞時,它將其按字符拆分並使用指定的分隔符。

使用split()函數

除了使用join()函數進行拆分外,還可以使用split()函數來拆分字符串,其工作方式幾乎與join()函數相同。讓我們看一段代碼片段:

names = ['Java', 'Python', 'Go']
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

split = single_str.split(delimiter)
print('List: {0}'.format(split))

讓我們看看這個程式的輸出: 我們再次使用相同的分隔符將字符串拆分回原始列表。

僅分割 n 次

我們在上一個例子中演示的split()函數還接受一個可選的第二個參數,該參數表示應執行的分割操作次數。以下是一個示例程序,演示了它的用法:

names = ['Java', 'Python', 'Go']
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

split = single_str.split(delimiter, 1)
print('List: {0}'.format(split))

讓我們看看這個程序的輸出:這次,分割操作僅執行了一次,因為我們在split()函數參數中提供了次數。這就是在Python中將列表連接成字符串並使用split()函數再次獲取原始列表的全部內容。

Source:
https://www.digitalocean.com/community/tutorials/python-join-list