Pythonでリストの要素をフォーマットする方法を徹底解説
Pythonのリストは、順序があり変更可能なコレクションです。リストは角括弧 [] を使って記述し、インデックス番号を指定することで各要素にアクセスできます。負のインデックスを使うと末尾から数えることができ、-1 は最後の要素を表します。また、開始位置と終了位置を指定することで、範囲を指定したスライシングも可能です。
本記事では、数値を含むリストの各要素を小数点以下2桁に整形する方法を、複数のアプローチから解説します。いずれの方法でも結果は文字列のリストとして返される点に注意してください。
方法1:リスト内包表記と%書式指定
最もシンプルな方法の一つが、リスト内包表記と % 演算子による書式指定を組み合わせる手法です。コードが簡潔で可読性も高いため、多くの場面で推奨されます。
# リストの初期化 Input = [100.7689454, 17.232999, 60.98867, 300.83748789] # リスト内包表記を使用してフォーマット Output = ["%.2f" % elem for elem in Input] # 結果を出力 print(Output)
方法2:map()関数とlambda式
map() 関数と lambda 式を組み合わせることで、関数型プログラミングのスタイルで各要素を変換できます。map() の戻り値はイテレータなので、list() で明示的にリストへ変換する必要があります。
# リストの初期化 Input = [100.7689454, 17.232999, 60.98867, 300.83748789] # map()とlambdaを使用してフォーマット Output = map(lambda n: "%.2f" % n, Input) # リストへ変換 Output = list(Output) # 結果を出力 print(Output)
方法3:str.format()メソッド
str.format() メソッドを使うと、より柔軟で詳細な書式指定が可能です。Python 3以降で推奨されているモダンな書式設定方法です。
# リストの初期化
Input = [100.7689454, 17.232999, 60.98867, 300.83748789]
# format()メソッドを使用してフォーマット
Output = ['{:.2f}'.format(elem) for elem in Input]
# 結果を出力
print(Output)実行結果
上記のすべての方法で、以下と同じ出力が得られます。元の浮動小数点数が小数点以下2桁の文字列に整形されていることが確認できます。
['100.77', '17.23', '60.99', '300.84']
補足:f文字列(f-string)による方法
Python 3.6以降では、f文字列を使ったさらに簡潔な記述も可能です。
Input = [100.7689454, 17.232999, 60.98867, 300.83748789]
Output = [f"{elem:.2f}" for elem in Input]
print(Output) # ['100.77', '17.23', '60.99', '300.84']まとめ
リスト内包表記は簡潔さと速度のバランスに優れており、日常的な処理に最適です。map() は大規模データでの遅延評価に向いており、str.format() やf文字列は複雑な書式指定が必要な場合に威力を発揮します。用途やプロジェクトのコーディング規約に応じて、最適な方法を選択しましょう。
-
Pythonで指定したインデックスリストの要素をまとめて取得する方法
Pythonでは、リストの個々の要素へアクセスする際に、角括弧 [] とインデックス番号を使用します。しかし、複数のインデックスをまとめて指定して要素を取り出したい場合には、この方法をそのまま使うことができません。そこで、以下に挙げるアプローチを活用します。方法1:2つのリストを使う元のリストとは別に、取得したいインデックスをもう1つのリストとして用意します。そして、リスト内包表記(forループ)でインデックスのリストを順に処理し、その値を元のリストに渡すことで、対応する要素を取り出します。サンプルコードgiven_list = [Mon, Tue, Wed, Thu, Fri] index_
-
【初心者向け】Pythonでリストのサイズ(要素数)を取得する方法
リスト(list)は、Pythonにおける代表的なコレクション型のデータ構造の一つです。リストの要素は後から変更でき、重複した値を持つこともできます。本記事では、Pythonでリストのサイズ(長さ)を取得する方法を解説します。具体的には、重複の有無にかかわらず、リストに含まれる全要素の数をカウントする方法を紹介します。リストの長さを取得する基本:len()関数Pythonでリストの要素数を取得するには、組み込み関数の len() を使用します。len() はリストだけでなく、タプル・文字列・辞書などさまざまなコレクションに対しても利用できる汎用的な関数です。サンプルコード以下の例では、「day