Pythonで文字列内の各単語の順序を逆にするプログラムの書き方
スペースで区切られた複数の単語からなる文字列が与えられたとき、その単語の並び順を逆にする方法を解説します。
例えば、入力が「Hello world, I love python programming」だった場合、出力は「programming python love I world, Hello」のようになります。
解決の手順
この問題は、以下のステップで解決できます。
- まず、文字列 s を空白文字で分割し、単語のリスト temp を作成します
- 次に、リスト temp の要素の順序を逆にします
- 最後に、temp の要素を空白区切りで連結した文字列を返します
それでは、実際のコード実装を見ていきましょう。
コード例
class Solution:
def solve(self, s):
temp = s.split(' ')
temp = list(reversed(temp))
return ' '.join(temp)
ob = Solution()
sentence = "Hello world, I love python programming"
print(ob.solve(sentence))
入力
"Hello world, I love python programming"
出力
programming python love I world, Hello
コードのポイント
この実装で使われている主なPythonの機能は以下の3つです。
- split()メソッド: 文字列を指定した区切り文字(ここでは半角スペース)で分割し、単語のリストを生成します
- reversed()関数: リストの要素を逆順にイテレートするイテレータを返します。list()で囲むことで逆順のリストに変換できます。なお、スライス記法
temp[::-1]やtemp.reverse()を使っても同じ結果が得られます - join()メソッド: リストの各要素を指定した文字列(ここでは半角スペース)で連結し、1つの文字列を作成します
このように、Pythonでは標準的な文字列操作メソッドを組み合わせるだけで、単語の順序を簡単に反転させることができます。文章処理やデータ整形の場面で役立つ基本的なテクニックなので、ぜひ覚えておきましょう。
-
指定された文字列が母音回文であるかどうかを確認するPythonプログラム
はじめに この記事では、「与えられた文字列から子音をすべて取り除いたとき、残った母音だけの文字列が回文になっているかどうかを判定する」という問題を、Pythonプログラムで解く方法を解説します。 問題の概要 問題文:母音と子音の両方を含む文字列が与えられます。まず文字列からすべての子音を取り除き、その結果得られた文字列が回文(前から読んでも後ろから読んでも同じ並びになる文字列)であるかどうかを確認してください。 解決のアプローチ この問題は、以下の手順で解くことができます。 元の文字列を先頭から順に走査し、母音(a・e・i・o・u)だけを取り出して新しい文字列を作成します。 母音が1つも
-
Pythonで文字列がパングラムかどうかを判定するプログラムの作成方法
本記事では、与えられた文字列がパングラムであるかどうかを判定するPythonプログラムの解法とアプローチについて詳しく解説します。 問題の概要 文字列入力が与えられたとき、その文字列がパングラムであるかどうかを判定するPythonプログラムを作成します。 パングラムとは? パングラムとは、英語のアルファベット26文字すべてを少なくとも1回ずつ含む文章や一連の単語のことです。有名な例として「The quick brown fox jumps over the lazy dog」があります。 解法のアプローチ この問題は、以下の手順で解くことができます。 アルファベット全体を表す基準となる文字列