Python3でIterableなオブジェクトの先頭にアスタリスクをつけてリストに入れる
具体的には、
[map(str, [1, 2, 3])] # > [<map object at ...>] [*map(str, [1, 2, 3])] # > ['1', '2', '3']
という感じ。関数にリストを渡すとき、リストの先頭にアスタリスクを付けるとunpackされるのは有名らしい(今日知った)。
しかし、この場合はそれに該当しない気がするけど、何て呼ぶんだろう。
ちなみに
[range(3)] # > [range(0, 3)] [*range(3)] # > [0, 1, 2] [zip([1, 2], [3, 4])] # > [<zip object at ...>] [*zip([1, 2], [3, 4])] # > [(1, 3), (2, 4)]
とかなので、iterableなオブジェクトのunpackなのかな、と。
元ネタは、ここで見たもの。
追記1
iterable unpackingで良いみたいですね。以下の記事がまとまっていて参考になりました。