この記事では、Pythonの文字列とリストを相互に変換するための基本的なメソッドである、**join()
とsplit()
**について解説します。
目次
join()
メソッド:リストを文字列に結合する
join()
メソッドは、文字列のリストの各要素を、指定した**区切り文字(separator)**で連結し、一つの新しい文字列を作成します。
構文は少し特徴的で、区切り文字.join(リスト)
の形で使用します。
# カンマとスペースでリストの要素を結合
fruits = ["apple", "banana", "cherry"]
result = ", ".join(fruits)
print(result) # 出力: apple, banana, cherry
# 区切り文字なしで結合
words = ["Python", "is", "fun"]
result = "".join(words)
print(result) # 出力: Pythonisfun
# ハイフンで結合
date_parts = ["2025", "08", "31"]
result = "-".join(date_parts)
print(result) # 出力: 2025-08-31
split()
メソッド:文字列をリストに分割する
split()
メソッドはjoin()
の逆の操作を行い、文字列を指定した区切り文字で分割し、文字列のリストを作成します。
### 区切り文字を指定しない場合
引数を指定せずにsplit()
を呼び出すと、スペース、タブ、改行などの任意の空白文字を区切りとして文字列を分割します。連続した空白は一つにまとめられます。
sentence = "This is a pen."
words = sentence.split()
print(words) # 出力: ['This', 'is', 'a', 'pen.']
### 区切り文字を指定する場合
引数に区切り文字を指定すると、その文字列が出現する箇所で分割が行われます。
csv_data = "Taro,30,Tokyo"
items = csv_data.split(",")
print(items) # 出力: ['Taro', '30', 'Tokyo']
# "a"で分割する例
path = "path/to/a/file.txt"
parts = path.split("a")
print(parts) # 出力: ['p', 'th/to/', '/file.txt']
### 改行文字で分割する
複数行にわたる文字列を一行ずつのリストに分割するには、改行文字\n
を区切りとして指定します。
multiline_text = """First line
Second line
Third line"""
lines = multiline_text.split('\n')
print(lines) # 出力: ['First line', 'Second line', 'Third line']
まとめ
join()
: 文字列のリストを、一つの文字列に結合します。区切り文字.join(リスト)
の形で使います。split()
: 一つの文字列を、文字列のリストに分割します。文字列.split(区切り文字)
の形で使います。- 引数なしの
split()
は、空白文字で分割する便利な機能です。