Pythonで文字列リストの各要素にカスタムサイズの空白パディングを追加する方法
文字列のリスト内の各要素に対して、任意のサイズの空白(スペース)を前後に追加したい場合があります。このような処理は、空のリスト、for文による反復処理、そしてappendメソッドを組み合わせることで簡単に実現できます。
サンプルコード
以下に具体的な実装例を示します。
my_list = ["Python", "is", "great"]
print("元のリスト:")
print(my_list)
lead_size = 3 # 先頭に追加する空白の数
trail_size = 2 # 末尾に追加する空白の数
my_result = []
for elem in my_list:
my_result.append((lead_size * ' ') + elem + (trail_size * ' '))
print("処理結果:")
print(my_result)実行結果
元のリスト: ['Python', 'is', 'great'] 処理結果: [' Python ', ' is ', ' great ']
コードの解説
まず、パディング対象となる文字列のリストを定義し、コンソールに表示します。
次に、先頭に追加する空白の数(
lead_size)と末尾に追加する空白の数(trail_size)をそれぞれ定義します。結果を格納するための空のリストを作成します。
元のリストをfor文で反復処理し、各要素の前後に「空白 × 指定回数」を連結した新しい文字列を生成します。Pythonでは文字列と整数を掛け算すると、その文字列が指定回数繰り返されるという特性を利用しています。
生成した文字列を
appendメソッドで結果リストに追加していきます。最後に、処理結果をコンソールに出力して完了です。
補足:リスト内包表記を使ったより簡潔な書き方
同じ処理は、リスト内包表記を使うことで1行で書くこともできます。
my_result = [(lead_size * ' ') + elem + (trail_size * ' ') for elem in my_list]
こちらの方がPythonic(Pythonらしい書き方)であり、コードも読みやすくなるため、実務ではリスト内包表記の使用が推奨されます。
-
Pythonで文字列リストから数値を抽出する2つの方法:splitとmap/isnumericの使い方
Pythonでデータ処理を行っていると、文字と数字が混在し、かつ一定のパターンを持つリストに遭遇することがあります。例えば「曜日-数値」のように、識別子と数値が組み合わされたデータは実務でもよく見られます。 本記事では、このようなリストから数値部分だけを抽出し、その後の計算や集計に利用できるようにする方法を、2つのアプローチで解説します。 方法1:split関数を使う split() 関数は、指定した区切り文字を基準に文字列を分割します。以下の例では、リストの各要素がハイフン(-)によって文字部分と数値部分に区切られています。この特徴を利用し、リスト内包表記で各要素を処理することで、数値部分を
-
Pythonで文字列のリストを並べ替える方法:sort()とsorted()の使い分け
Pythonでは、文字列のリストを並べ替える方法が2つ用意されています。リスト自体を直接変更するsort()メソッドと、元のリストを保持したまま新しい並べ替え済みリストを作成するsorted()関数です。それぞれの特徴と使い方を解説します。 sort()メソッドでリストをその場で並べ替える sort()は、リストそのものを並べ替える「in-place(破壊的)」な操作です。元のリストの順序が直接変更されるため、戻り値を受け取る必要はありません。 >>> a = [Hello, My, Followers] >>> a.sort() >>>