1

次のテストがあるとします。

>>> import timeit
>>> timeit.timeit("[x + 'abc' for x in ['x', 'y', 'z']]")
>>> timeit.timeit("map(lambda x: x + 'abc', ['x', 'y', 'z'])")

Python 2.7 および 3.4 (Debian 8/testing/jessie) では、次の数値が得られます。

Python27 Python34
1.3s     0.5s      map()
0.6s     0.9s      list comprehension

Map は Python 3 で大幅に改善されましたが、リストの理解はひどく苦しんでいました。

質問: コードを Python 2 から Python 3 に移植する場合、リスト内包表記を map() に変更することをお勧めしますか?

4

1 に答える 1