在 Python 中,join()
是一個字串方法,用於將 可迭代物件(如列表、元組等)中的元素連線成一個單一的字串。
join()
是字串物件的方法,因此它需要在一個字串上呼叫,並且它將連線指定的可迭代物件的所有元素,預設情況下使用該字串作為分隔符。
語法
separator.join(iterable)
-
separator
:用來分隔每個元素的字串(可以是空字串、空格、逗號等)。它是 join() 方法呼叫者,即連線時的分隔符。 -
iterable
:一個可迭代物件(如列表、元組、字串等),包含要被連線的元素。
基本用法:
1. 使用空字串連線
如果使用空字串作為分隔符,join() 會將可迭代物件中的所有元素直接拼接在一起:
words = ['Hello', 'World', 'Python']
result = ''.join(words)
print(result)
輸出如下:
2. 使用空格分隔連線
可以指定一個空格(或其他字元)作為分隔符,元素之間會有空格:
words = ['Hello', 'World', 'Python']
result = ' '.join(words)
print(result)
輸出如下:
3. 使用逗號分隔連線
如果希望在元素之間插入逗號和空格,可以這樣做:
words = ['apple', 'banana', 'cherry']
result = ', '.join(words)
print(result)
輸出如下:
注意事項
-
join() 只能用於 字串型別的可迭代物件。如果可迭代物件中有非字串型別的元素,join() 會丟擲
TypeError
錯誤。items = ['apple', 3, 'banana'] result = ', '.join(items) # 會丟擲 TypeError
要解決這個問題,通常需要先將非字串元素轉換為字串:
items = ['apple', 3, 'banana'] result = ', '.join(str(i) for i in items) # 轉換數字為字串 print(result)
輸出如下:
-
連線空字串:如果 iterable 為空,join() 會返回一個空字串:
empty_list = [] result = ', '.join(empty_list) print(result) # 輸出 ""
輸出如下:
沒有輸出內容。
高階用法
-
將字元列表連線成一個字串: 假設你有一個字元的列表,並且你想要將它們連線成一個字串:
chars = ['H', 'e', 'l', 'l', 'o'] result = ''.join(chars) print(result) # 輸出 "Hello"
輸出如下:
-
連線檔案路徑:你可以用 join() 來拼接檔案路徑,尤其是在跨平臺應用時,它可以避免手動新增斜槓。
import os parts = ['home', 'user', 'documents', 'file.txt'] result = os.path.join(*parts) # os.path.join 會自動處理斜槓問題 print(result) # 在 Windows 上輸出 "home\user\documents\file.txt" # 在 Linux/Mac 上輸出 "home/user/documents/file.txt"
輸出如下: