1. ホーム
  2. スクリプト・コラム
  3. パイソン

python string splicing.join()とsplitting.split()の説明

2022-01-02 19:09:58

1. 文字列分割関数.split()

文字列をスペースで分割する。

s = "fd as sf"
res = s.split(" ")
print(res)


戻り値は

['fd','as','sf']

注意事項

  • s.split(" ") 文中の単語を分割する際によく使われる。
  • 分割後の戻り値は list タイプになります。

2. ストリングスプライス関数.join()

文字列をスペース(任意の文字)により分割する。

l = ['1','12','s']
res = " ".join(l)
print(res)


結果:'1 12 s' を返します。

注意事項

スプライシング後の戻り値はstr型!

Extension: 理解する " ".join(s.split(" ")[::-1])[::-1].

s = "I love you"
res = " ".join(s.split(" ")[::-1])[::-1]
print(res)


戻り値は、"I evol uoy"です。

分析する。

z'zというフレーズは、文字列が与えられたとき、スペースと単語の最初の順番を保ったまま、文字列内の各単語の文字順を反転させる必要があることを意味します。

この文は、問557の解答を強制的に減点するものである。 557.文字列中の単語を反転させる III

上記に加え、. join()  と. split() の外に関わるpythonのスライスの使用もあります。

読者は、その文章の意味を自分で見て(あるいはフォースバックルの公式解析を見て)ください。

備考 : Pythonのスライス解析については、以下のブログ記事を参照してください。 Pythonスライスの詳細

以下は一部抜粋です。

完全なスライス式は、3 つの引数 (start_index, end_index, step) を区切る 2 つの ":" を含んでいます。1 つの ":" しかない場合、3 番目の引数のデフォルトは step=1 で、":" がない場合は start_index=end_index となり、start_index で指定した要素がスライスされることが示されます。

Basic expression for slicing: object[start_index:end_index:step]


step 数値の絶対サイズはデータをスライスする際の「ステップ長」を決定し、正負の符号は「スライス方向」を決定します。正は "left-to-right" 、負は "right-to-left" を意味します。正の意味は "left to right" 、負の意味は "right to left" となります。stepを省略した場合のデフォルトは1で、左から右へ1刻みで値を取ることを意味します。 "切る方向はとても重要です!"切る方向はとても重要です!"切る方向はとても重要です!" , 大事なことを3回言ってください!"切る方向はとても重要です。

start_index は開始インデックス(そのインデックスに対応する値を含む)、省略時はオブジェクトの "endpoint" から値を取ることを示すパラメータで、 "start" からか "end" からかは、正のステップパラメータと負のステップパラメータで決まり、ステップは "start" から正、 "end" から負となります。

end_index このパラメータを省略した場合は、データの終点まで取得することを示します。

まとめ

この記事があなたのお役に立ち、Script Houseの他のコンテンツにもっと注目していただけることを願っています。