Python: 文字列を1文字ずつリストに分割

Pythonで文字列を1文字ずつリストに分割したい場合は、 list()関数を利用します。 list()の引数に文字列を指定するだけでリストに分割されます。

次のサンプルコードでは、list()を使って 文字列「s」を1文字ずつリスト「ls」に分割しています。

s = "abcde"

# 1文字ずつ分割
ls = list(s)

print(ls)  # ["a", "b", "c", "d", "e"]

上のサンプルコードではリスト「ls」に格納しましたが、 Pythonでは、文字列をリストのように1文字ずつ取得することもできます。

for文で1文字ずつ取得

文字列もリストもシーケンス(要素に順序が存在するしくみ)なので、 例えば先頭の1文字をはs[0]、2番目はs[1]というように インデックスを使って取得することができます。

s = "abc"

for i in range(len(s)):
	print(s[i])
	
# 実行結果
a
b
c

さらにfor文でinの後に直接文字列を指定して 1文字ずつ取得することもできます。

s = "abc"

for v in s:
	print(v)

# 実行結果
a
b
c
Python