Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python】1回の走査で文字列内のスペースを先頭に移動する方法

文字列が与えられたとき、その中のすべてのスペースを文字列の先頭へ移動させるのが今回の目標です。たとえば、文字列にスペースが4つ含まれている場合、その4つのスペースをすべての文字より前にまとめて移動させます。コーディングを始める前に、まずサンプルのテストケースを確認しておきましょう。

テストケース

入力:
string = "tutorials point "

出力:
tutorialspoint
入力:
string = "I am a python programmer."

出力:
Iamapythonprogrammer.

それでは、以下の手順に沿って目的を達成していきましょう。

アルゴリズム

  1. 文字列を初期化します。
  2. スペース以外のすべての文字を抽出し、変数に格納します。
  3. 文字列の count() メソッドを使って、スペースの個数を求めます。
  4. スペース文字にスペースの個数を掛けた結果を変数に格納します(これで先頭に並べるスペースが完成します)。
  5. 手順4の変数に、抽出したすべての文字を連結します。
  6. 最後に結果を出力します。

実装例

## 文字列の初期化
string = "tutorials point "

## スペースを除くすべての文字を抽出
chars = [char for char in string if char != " "]

## count() メソッドでスペースの個数を取得
spaces_count = string.count(' ')

## スペース文字 × 個数 で、先頭に並べるスペースを作成
new_string = " " * spaces_count

## 抽出した文字を新しい文字列に連結
new_string += "".join(chars)

## 結果の出力
print(new_string)

出力

上記のプログラムを実行すると、次のような結果が得られます。

tutorialspoint

続いて、別の入力でも試してみましょう。

別の入力での実行例

## 文字列の初期化
string = "I am a python programmer."

## スペースを除くすべての文字を抽出
chars = [char for char in string if char != " "]

## count() メソッドでスペースの個数を取得
spaces_count = string.count(' ')

## スペース文字 × 個数 で、先頭に並べるスペースを作成
new_string = " " * spaces_count

## 抽出した文字を新しい文字列に連結
new_string += "".join(chars)

## 結果の出力
print(new_string)

出力

Iamapythonprogrammer.

コードのポイント

  • リスト内包表記[char for char in string if char != " "] の部分で、文字列からスペース以外の文字だけを効率よく取り出しています。
  • 文字列の乗算:Pythonでは " " * 3 のように書くだけで、スペース3つ分の文字列を簡単に生成できます。
  • join() メソッド:リスト内の各文字を区切り文字なしで1つの文字列に結合しています。

まとめ

このように、リスト内包表記・count() メソッド・文字列の乗算を組み合わせることで、文字列内のスペースをすべて先頭に移動する処理を短いコードで実現できます。プログラムについて不明な点がある場合は、コメント欄でお気軽にお尋ねください。

  1. Pythonで文字列がパングラムかどうかを判定するプログラムの作成方法

    本記事では、与えられた文字列がパングラムであるかどうかを判定するPythonプログラムの解法とアプローチについて詳しく解説します。 問題の概要 文字列入力が与えられたとき、その文字列がパングラムであるかどうかを判定するPythonプログラムを作成します。 パングラムとは? パングラムとは、英語のアルファベット26文字すべてを少なくとも1回ずつ含む文章や一連の単語のことです。有名な例として「The quick brown fox jumps over the lazy dog」があります。 解法のアプローチ この問題は、以下の手順で解くことができます。 アルファベット全体を表す基準となる文字列

  2. Python文字列の最大長はどれくらい?メモリと環境による上限を解説

    Python文字列の最大長は環境によって決まるPythonにおける文字列の最大長は、理論上の上限よりも、実際に利用できるメモリ容量とPythonの実行環境(32ビットか64ビットか)によって決まります。言語仕様上、文字列の長さは Py_ssize_t 型で管理されており、64ビット環境では最大約9.2×1018(263-1)文字まで扱えることになっています。しかし、現実的にはこの上限に達する前にメモリが足りなくなります。64ビット環境の場合64ビット版のPythonを搭載し、64GBのメモリを備えたマシンであれば、約63GB程度の巨大な文字列でも十分に扱うことが可能です。さらにメモリを増設すれ