Pythonのラムダ式(無名関数)を使って累乗を一括表示する方法
この記事では、Pythonの組み込み関数 map() の中で無名関数(ラムダ関数)を使用し、任意の数の累乗をまとめて計算・表示する方法を解説します。Pythonにおける無名関数とは、関数名を持たない関数のことで、lambda キーワードを使って定義します。def文で関数を定義する必要がないため、短い処理をその場で記述したい場合に非常に便利です。
アルゴリズム
Step 1: 表示する項数 n を入力する Step 2: 累乗の底となる数値 p を入力する Step 3: 無名関数(ラムダ式)を使って累乗を計算する Step 4: 結果を表示する
サンプルコード
# 無名関数を使って任意の数の累乗を表示する
n = int(input("表示したい項数を入力してください:"))
p = int(input("累乗を計算したい数値を入力してください:"))
# 無名関数を使用して累乗を一括計算
cal = list(map(lambda i: p ** i, range(n)))
# 結果を表示
print("項の総数は ::>", n)
for j in range(n):
print(p, "の", j, "乗は", cal[j])
コードのポイント
lambda i: p ** i:引数iを受け取り、pのi乗を返す無名関数です。range(n):0 から n-1 までの指数(べき指数)を順番に生成します。map():各指数に対してラムダ関数を適用し、list()で結果をリスト化しています。
実行結果
表示したい項数を入力してください:10 累乗を計算したい数値を入力してください:3 項の総数は ::> 10 3 の 0 乗は 1 3 の 1 乗は 3 3 の 2 乗は 9 3 の 3 乗は 27 3 の 4 乗は 81 3 の 5 乗は 243 3 の 6 乗は 729 3 の 7 乗は 2187 3 の 8 乗は 6561 3 の 9 乗は 19683
このように、lambda と map() を組み合わせることで、ループ処理を明示的に書かずとも簡潔に累乗のリストを生成できます。なお、Python 3.x では map() の戻り値がイテレータになるため、list() で明示的にリストへ変換している点にも注意しましょう。
-
Pythonの関数で図(Figure)を返す方法【Matplotlib活用】
PythonでMatplotlibを使って、関数から図(Figureオブジェクト)を返す方法を解説します。グラフ描画処理を関数化することで、コードの再利用性が高まり、複数のグラフを効率的に扱えるようになります。実装の手順figureサイズを設定し、サブプロット間および周囲のパディングを調整します。numpyを使用してxとyのデータポイントを作成します。新しい図を作成、または既存の図をアクティブにするfigure()メソッドを使った関数plot(x, y)を定義します。plot()メソッドでxとyのデータポイントを描画し、figインスタンスを返します。plot(x, y)関数を呼び出し、戻り値の
-
PythonでPOSTメソッドを使ってCGIプログラムに情報を渡す方法
CGIプログラムへ情報を渡す方法としては、POSTメソッドの方が一般的により信頼性が高いとされています。POSTメソッドは、GETメソッドとまったく同じ形式でデータをパッケージ化しますが、URLの「?」以降にテキスト文字列として付加して送信するのではなく、独立したメッセージとして送り出す点が異なります。このメッセージは、標準入力(stdin)を通じてCGIスクリプトへ渡されます。POSTメソッドの主な特徴送信データがURLに表示されないため、GETメソッドよりも安全性が高いURLの長さ制限を受けないため、大量のデータも送信できるデータはリクエストボディに格納され、標準入力経由でCGIスクリプト