【Python入門】文字列の最初の2文字と最後の2文字を組み合わせて新しい文字列を作る方法
Pythonでは、指定した文字列の先頭2文字と末尾2文字を取り出して、それらをつなげた新しい文字列を簡単に作成できます。この処理には、カウンター変数を定義して文字列の長さを求め、インデックス(添字)を使って特定範囲の要素にアクセスする方法が使えます。
以下に具体的な実装例を示します。
サンプルコード
my_string = "Hi there how are you"
my_counter = 0
for i in my_string:
my_counter = my_counter + 1
new_string = my_string[0:2] + my_string[my_counter - 2: my_counter]
print("元の文字列は")
print(my_string)
print("新しい文字列は")
print(new_string)実行結果
元の文字列は Hi there how are you 新しい文字列は Hiou
コードの解説
- まず対象となる文字列を定義し、コンソールに表示します。
- カウンター変数を0で初期化します。
- forループで文字列を1文字ずつ走査し、ループが終わった時点でカウンターには文字列の全長が格納されます。
- スライス記法
[0:2]で先頭2文字を、[my_counter - 2: my_counter]で末尾2文字を取得します。 - これらを
+演算子で連結した結果を新しい変数に代入します。 - 最後に結果をコンソールに出力します。
より簡潔な書き方:len()関数の活用
上記のコードでは手動でカウンターを回していますが、Pythonには文字列の長さを返す組み込み関数 len() が用意されているため、以下のようにより簡潔に書くことができます。
my_string = "Hi there how are you" new_string = my_string[:2] + my_string[-2:] print(new_string) # 出力: Hiou
負のインデックス -2: を使えば「末尾から2文字目以降」を直接指定できるため、文字数を数える必要すらありません。実務ではこちらの書き方が一般的で、可読性も高くなります。
注意点
文字列の長さが2文字以下の場合、先頭と末尾の範囲が重なるため、意図しない結果になる可能性があります。実際の開発では、if len(my_string) >= 4 のような条件分岐を加えておくと安全です。
-
指定された文字列が母音回文であるかどうかを確認するPythonプログラム
はじめに この記事では、「与えられた文字列から子音をすべて取り除いたとき、残った母音だけの文字列が回文になっているかどうかを判定する」という問題を、Pythonプログラムで解く方法を解説します。 問題の概要 問題文:母音と子音の両方を含む文字列が与えられます。まず文字列からすべての子音を取り除き、その結果得られた文字列が回文(前から読んでも後ろから読んでも同じ並びになる文字列)であるかどうかを確認してください。 解決のアプローチ この問題は、以下の手順で解くことができます。 元の文字列を先頭から順に走査し、母音(a・e・i・o・u)だけを取り出して新しい文字列を作成します。 母音が1つも
-
Pythonで文字列がパングラムかどうかを判定するプログラムの作成方法
本記事では、与えられた文字列がパングラムであるかどうかを判定するPythonプログラムの解法とアプローチについて詳しく解説します。 問題の概要 文字列入力が与えられたとき、その文字列がパングラムであるかどうかを判定するPythonプログラムを作成します。 パングラムとは? パングラムとは、英語のアルファベット26文字すべてを少なくとも1回ずつ含む文章や一連の単語のことです。有名な例として「The quick brown fox jumps over the lazy dog」があります。 解法のアプローチ この問題は、以下の手順で解くことができます。 アルファベット全体を表す基準となる文字列