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

【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 のような条件分岐を加えておくと安全です。

  1. 指定された文字列が母音回文であるかどうかを確認するPythonプログラム

    はじめに この記事では、「与えられた文字列から子音をすべて取り除いたとき、残った母音だけの文字列が回文になっているかどうかを判定する」という問題を、Pythonプログラムで解く方法を解説します。 問題の概要 問題文:母音と子音の両方を含む文字列が与えられます。まず文字列からすべての子音を取り除き、その結果得られた文字列が回文(前から読んでも後ろから読んでも同じ並びになる文字列)であるかどうかを確認してください。 解決のアプローチ この問題は、以下の手順で解くことができます。 元の文字列を先頭から順に走査し、母音(a・e・i・o・u)だけを取り出して新しい文字列を作成します。 母音が1つも

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

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