python中的join()函式

hisun9發表於2024-11-21

在 Python 中,join() 是一個字串方法,用於將 可迭代物件(如列表、元組等)中的元素連線成一個單一的字串。

join() 是字串物件的方法,因此它需要在一個字串上呼叫,並且它將連線指定的可迭代物件的所有元素,預設情況下使用該字串作為分隔符。

語法

separator.join(iterable)
  • separator:用來分隔每個元素的字串(可以是空字串、空格、逗號等)。它是 join() 方法呼叫者,即連線時的分隔符。

  • iterable:一個可迭代物件(如列表、元組、字串等),包含要被連線的元素。

基本用法:

1. 使用空字串連線

如果使用空字串作為分隔符,join() 會將可迭代物件中的所有元素直接拼接在一起:

words = ['Hello', 'World', 'Python']
result = ''.join(words)
print(result)

輸出如下:

img

2. 使用空格分隔連線

可以指定一個空格(或其他字元)作為分隔符,元素之間會有空格:

words = ['Hello', 'World', 'Python']
result = ' '.join(words)
print(result)

輸出如下:

img

3. 使用逗號分隔連線

如果希望在元素之間插入逗號和空格,可以這樣做:

words = ['apple', 'banana', 'cherry']
result = ', '.join(words)
print(result)

輸出如下:

img

注意事項

  1. 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)
    

    輸出如下:

    img

  2. 連線空字串:如果 iterable 為空,join() 會返回一個空字串:

    empty_list = []
    result = ', '.join(empty_list)
    print(result)  # 輸出 ""
    

    輸出如下:

    img

    沒有輸出內容。

高階用法

  • 將字元列表連線成一個字串: 假設你有一個字元的列表,並且你想要將它們連線成一個字串:

    chars = ['H', 'e', 'l', 'l', 'o']
    result = ''.join(chars)
    print(result)  # 輸出 "Hello"
    

    輸出如下:

    img

  • 連線檔案路徑:你可以用 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"
    

    輸出如下:

    img

相關文章