Pythonのmap()
関数は、イテラブル(リストやタプルなど)の各要素に指定された関数を適用し、新しいイテレータを生成する組み込み関数です。この関数は、反復処理を簡潔に記述するために使用されます。
基本的な使い方
以下に、map()
関数の使用方法と具体的なコード例を示します。
# map(function, iterable)
# 引数:
# ・function: 適用する関数
# ・iterable: 適用する要素のシーケンス
# 戻り値: イテレータオブジェクト
# 例1: 数値の2倍を計算する
numbers = [1, 2, 3, 4, 5]
# ラムダ式を使って各要素に2倍を計算
doubled_numbers = map(lambda x: x * 2, numbers)
# イテレータをリストに変換して結果を表示
print(list(doubled_numbers)) # [2, 4, 6, 8, 10]
この例では、numbers
リストの各要素に対してラムダ式(lambda x: x * 2
)を適用しています。map()
関数は、各要素に対して指定された関数を適用し、その結果を含む新しいイテレータオブジェクト(doubled_numbers
)を生成します。
ブール値とmap関数
ブール値(真偽値)を使用して、特定の条件に基づいて要素をフィルタリングすることも可能です。filter()
関数は、指定された条件に合致する要素のみを抽出するために使用されます。map()
関数と組み合わせることで、条件に基づいて要素を変換したり、フィルタリングしたりすることができます。
numbers = [1, 2, 3, 4, 5]
# 偶数の要素のみを2倍にする
doubled_evens = map(lambda x: x * 2, filter(lambda x: x % 2 == 0, numbers))
# イテレータをリストに変換して結果を表示
print(list(doubled_evens)) # [4, 8]
この例では、filter()
関数を使用して偶数の要素のみを抽出し、その結果をmap()
関数に渡して2倍にしています。
以上、Pythonのmap()
関数とブール値の活用について解説しました。これらの機能を理解し、適切に使用することで、Pythonプログラミングの幅が広がります。