[解決済み] リスト理解 vs マップ
2022-03-20 12:57:09
質問
を使用した方が良い理由はありますか?
map()
をリスト内包の上に置くか、あるいはその逆か? どちらか一方が一般的に効率的であったり、他方よりも一般的にpythonicであると考えられているのでしょうか?
どのように解決するのですか?
map
の方が微視的に速い場合がある(そのためにラムダを作らず、同じ関数をmapとlistcompで使っている場合)。リスト内包の方が速い場合もありますし、多くのPythonistはリスト内包の方が直接的でわかりやすいと考えています(すべてではありません)。
全く同じ関数を使用した場合のmapのわずかな速度優位性の例です。
$ python -m timeit -s'xs=range(10)' 'map(hex, xs)'
100000 loops, best of 3: 4.86 usec per loop
$ python -m timeit -s'xs=range(10)' '[hex(x) for x in xs]'
100000 loops, best of 3: 5.58 usec per loop
mapがラムダを必要とする場合、性能比較が完全に逆転してしまう例です。
$ python -m timeit -s'xs=range(10)' 'map(lambda x: x+2, xs)'
100000 loops, best of 3: 4.24 usec per loop
$ python -m timeit -s'xs=range(10)' '[x+2 for x in xs]'
100000 loops, best of 3: 2.32 usec per loop
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
Python関数の高度な応用を解説
-
PicgoのイメージベッドツールをPythonで実装する
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
Pythonショートビデオクローラーチュートリアル
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。