Pythonでは、map
関数とlambda
式を組み合わせることで、リストやタプルなどのシーケンス型の各要素に対して一括で処理を行うことができます。特に、lambda
式内でif
else
を用いることで、条件に応じた処理を行うことが可能となります。
map関数とは
map
関数は、シーケンス型の各要素に対して一括で何らかの処理を行う関数です。以下のように記述します。
map("関数", "シーケンス(リストやタプルなど)")
lambda式とは
lambda
式は、def
文を使わずに関数を定義するための無名関数です。以下のように記述します。
lambda "返り値": "演算式"
mapとlambdaを組み合わせた使用例
lambda
式を使ったmap
関数は、以下のように記述します。
map(lambda "返り値": "演算式", "シーケンス(リストやタプルなど)")
例えば、リストの各要素を2倍にする場合は以下のようになります。
list1 = [1, 2, 3, 4, 5]
list2 = map(lambda a: a * 2, list1)
print(list(list2)) # 出力: [2, 4, 6, 8, 10]
lambda式内での条件分岐
lambda
式内でif
else
を用いることで、条件に応じた処理を行うことができます。以下のように記述します。
lambda x : True if (x > 1 and x < 10) else False
このlambda
式は、与えられた値が1から10の間にあるかどうかを確認するものです。
test = lambda x : True if (x > 1 and x < 10) else False
print(test(5)) # 処理: True
print(test(11)) # 処理: False
以上が、Pythonのmap
関数とlambda
式を使った条件分岐の基本的な使い方です。これらを理解し、適切に活用することで、Pythonプログラミングの幅が広がります。