Pythonのmap()
関数は、明示的なforループを使用せずにイテラブルのすべての項目を処理し、変換するための組み込み関数です。これはマッピングとして一般的に知られています。map()
関数は、イテラブルの各項目に変換関数を適用し、それらを新しいイテラブルに変換する必要がある場合に便利です。
例えば、次のようなコードがあります:
str_list = ["1", "2", "3"]
int_map = map(lambda i: int(i), str_list)
for i in int_map:
print("map1回目", i)
for i in int_map:
print("map2回目", i)
このコードでは、map()
関数を使用して文字列のリストを整数のマップに変換しています。しかし、2回目のforループでは何も出力されません。これは、map()
関数が返すのはイテレータであり、一度イテレートするとその内容が消費されるためです。
したがって、map()
関数の結果を再利用する必要がある場合は、結果をリストに変換することをお勧めします:
str_list = ["1", "2", "3"]
int_list = list(map(lambda i: int(i), str_list))
for i in int_list:
print("list1回目", i)
for i in int_list:
print("list2回目", i)
このようにすると、map()
関数の結果を何度でもイテレートすることができます。
以上がPythonのmap()
関数とループ処理についての基本的な説明です。この情報がPythonのコーディングに役立つことを願っています。