この記事では、【Python】文字列の1分割を1文字ずつ・文字数指定(2文字ずつ等)で行う方法について解説しています。
基本的には
・list関数
・for文とrange関数の組み合わせ
で対応できますね。
詳細を確認していきます。
pythonで”マントヒヒ”の文字列を1文字ずつ区切りリストに格納する方法
それではまず、pythonで”マントヒヒ”の文字列を1文字ずつ区切りリストに格納する方法について解説していきます。
list関数を使うことで、元の文字列を1文字で区切りつつ、リストに格納できます!
# 文字列を定義
sugoi_monkeysan = "マントヒヒ"
# 文字列を1文字ずつ区切ってリストに格納
subarashii_list = list(sugoi_monkeysan)
# リストを出力
print(subarashii_list)
上記のコードでは、まず文字列 “マントヒヒ” を変数 sugoi_monkeysan に代入しています。
次に、list() 関数を使用して文字列を1文字ずつ区切り、リストに格納しています。
最後に、作成されたリスト subarashii_list を出力しています。
出力結果
出力結果は以下のようになります。
[‘マ’, ‘ン’, ‘ト’, ‘ヒ’, ‘ヒ’]
以下はjupyter noteBookでの実行画面です。
pythonで文字列を2文字ずつ区切りリストに格納する方法【分割】
続いては、pythonで98765432の文字列を2文字ずつ区切りリストに格納する方法について解説していきます。
# 文字列を定義
sugoku_nagai_suuji = "98765432"
# 文字列を2文字ずつ区切ってリストに格納
yabai_list = [sugoku_nagai_suuji[i:i+2] for i in range(0, len(sugoku_nagai_suuji), 2)]
# リストを出力
print(yabai_list)
上記のコードでは、文字列 “98765432” を変数 sugoku_nagai_suuji に代入しています。
次に、リスト内包表記を使用して、文字列を2文字ずつ区切ってリストに格納しています。
range() 関数を使用して、0から文字列の長さまで2文字ずつ、スライス操作 sugoku_nagai_suuji[i:i+2] で2文字ずつ取り出してリストに追加しています。
最後に、作成されたリスト yabai_list を出力しています。
出力結果
出力結果は以下のようになります。
[’98’, ’76’, ’54’, ’32’]
以下がjupyter notebookでの出力画面です。
このように、リスト内包表記とスライス操作を組み合わせることで、文字列を指定した文字数ずつ区切ってリストに格納することができます。
pythonで文字数指定にインプットボックスを出し、ここに数値を入れるとこの文字数分、分割されて出力する方法
最後に、pythonで文字数指定にインプットボックスを出し、ここに数値を入れるとその文字数分、分割されて出力する方法について解説していきます。
# 文字列を定義
meccha_nagai_moji = "1234567890abcdefghij"
# 分割する文字数を入力
bunkatu_suru_moji_kazu = int(input("分割する文字数を入力してください: "))
# 文字列を指定した文字数ずつ区切ってリストに格納
sugoi_list = [meccha_nagai_moji[i:i+bunkatu_suru_moji_kazu] for i in range(0, len(meccha_nagai_moji), bunkatu_suru_moji_kazu)]
# リストを出力
print(sugoi_list)
上記のコードでは、まず文字列 “1234567890abcdefghij” を変数 meccha_nagai_moji に代入しています。
次に、input() 関数を使用して、ユーザーに分割する文字数を入力してもらい、int() 関数で整数に変換して変数 bunkatu_suru_moji_kazu に代入しています。
続いて、リスト内包表記を使用して、文字列を指定した文字数bunkatu_suru_moji_kazu ずつ区切ってリストに格納しています。
range() 関数を使用して、0から文字列の長さまで bunkatu_suru_moji_kazu 文字ずつで、スライス操作 meccha_nagai_moji[i:i+bunkatu_suru_moji_kazu] で指定した文字数ずつ取り出してリストに追加しています。
最後に、作成されたリスト sugoi_list を出力しています。
出力結果
例えば、分割する文字数として3を入力した場合、出力結果は以下のようになります。
[‘123’, ‘456’, ‘789’, ‘0ab’, ‘cde’, ‘fgh’, ‘ij’]
このように、input() 関数を使用してユーザーから分割する文字数を入力してもらい、リスト内包表記とスライス操作を組み合わせることで、文字列を指定した文字数ずつ区切ってリストに格納することができます。
まとめ 文字列の分割・区切りを文字数指定(2文字ずつ等)で行う方法【分割】
この記事では、文字列の1分割を1文字ずつ・文字数指定(2文字ずつ等)で行う方法について確認しました。
pythonの操作になれ、さらに効率よく快適に過ごしていきましょう!