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