🤹
【Python】lambda式でmapWithIndexを実現する
概要
以前に【Java】guavaのライブラリを使ったStreamのmapWithIndexの記事で、Javaのライブラリを使ったStreamでmapWithIndexを実現する方法を紹介しました。今回はPythonのlambda式でmapWithIndexを実現したい場合、どうすれば良いのかというのを紹介します。
対応
- stackoverflowのGetting index of item while processing a list using map in pythonの記事に何個か方法が書いてありますが、個人的には
enumerate
を使った方法が一番シンプルかなと感じました。 - enumerateの詳細は【python】enumerate関数の使い方(インデックス番号と要素を取り出す)の記事で紹介されています。ざっくり言うと配列にindexを付与してくれる関数ですね。
実装サンプル
enumerate
を使ったサンプルは以下の通りです。
実行すると['a0', 'b1', 'c2', 'd3', 'e4', 'f5']
と出力されます。
enumerateTest.py
test_list = ["a", "b", "c", "d", "e", "f"]
output_list = list(map(lambda x: x[1] + str(x[0]), enumerate(test_list)))
print(output_list)
Discussion