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