Pythonでタプル同士の減算(引き算)を行う方法
Pythonで2つのタプルの減算(要素ごとの引き算)を行いたい場合、mapメソッドとラムダ関数を組み合わせると簡単に実現できます。
map関数とラムダ関数とは
map関数は、リストやタプルなどのイテラブル(反復可能オブジェクト)の各要素に対して、指定した関数や処理を適用する組み込み関数です。結果としてマップオブジェクトを返します。
ラムダ関数(無名関数)は、名前を持たない関数のことです。通常、Pythonの関数はdefキーワードを使って定義しますが、無名関数はlambdaキーワードを使って定義します。ラムダ関数は1つの式のみを受け取りますが、引数はいくつでも指定できます。受け取った式を評価し、その結果を返します。
以下に具体的な使用例を示します。
サンプルコード
my_tuple_1 = (7, 8, 11, 0, 3, 4)
my_tuple_2 = (3, 2, 22, 45, 12, 9)
print("1つ目のタプルは : ")
print(my_tuple_1)
print("2つ目のタプルは : ")
print(my_tuple_2)
my_result = tuple(map(lambda i, j: i - j, my_tuple_1, my_tuple_2))
print("減算後のタプルは : ")
print(my_result)出力結果
1つ目のタプルは : (7, 8, 11, 0, 3, 4) 2つ目のタプルは : (3, 2, 22, 45, 12, 9) 減算後のタプルは : (4, 6, -11, -45, -9, -5)
処理の流れと解説
- 2つのタプルを定義し、コンソールに表示します。
- ラムダ関数
lambda i, j: i - jにより、2つのタプルから対応する要素同士の差を計算します。 mapメソッドを使って、この減算処理をすべての要素に適用します。- mapの結果を
tuple()でタプルに変換します。 - 変換した結果を変数に代入し、コンソールに出力します。
この方法を使えば、forループを書かずとも簡潔なコードでタプル同士の要素ごとの減算が行えます。なお、両方のタプルの要素数が同じである必要がある点に注意してください。要素数が異なる場合は、短い方の長さに合わせて計算されます。
-
Python関数からタプルを返す方法をわかりやすく解説
Pythonでは、関数から複数の値を一度に返したい場合にタプルを活用できます。タプルを使えば、文字列や数値など異なる型の値をまとめて1つの戻り値として扱えるため、非常に便利です。ここでは、実際にタプルを返す関数を定義し、その動作を確認してみましょう。コード例def foo(): str = tutorialspoint x = 30 return (str, x) print(foo())この関数 foo() は、文字列 tutorialspoint と整数 30 を括弧で囲んでタプルとして返しています。呼び出し側では、このタプルを受け取ってそのまま表示できます。実行
-
Pythonタプル(tuple)入門:作成・操作・削除の基本をコード例で解説
Pythonにおけるタプル(tuple)は、順序付け(ordered)かつ変更不可(immutable)という特徴を持つコレクションです。変更不可であるため、一度作成したタプルに要素を追加したり削除したりすることはできません。 タプルは丸括弧 () と、最低1つのカンマ , を使って作成します。 また、タプルはリストと同じようにインデックス指定やスライシングが可能ですが、スライスの結果もタプルとして返される点に注意しましょう。 タプルの作り方 colorsTuple = (red, green, blue) print(colorsTuple) 実行結果: (red, green, blue