Kupikir aku akan menggabungkan jawaban dan menunjukkan beberapa timeithasil.
Python 2 sangat buruk dalam hal ini, tetapi mapsedikit lebih cepat daripada pemahaman.
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import timeit
>>> setup = """import random
random.seed(10)
l = [str(random.randint(0, 99)) for i in range(100)]"""
>>> timeit.timeit('[int(v) for v in l]', setup)
116.25092001434314
>>> timeit.timeit('map(int, l)', setup)
106.66044823117454
Python 3 lebih cepat 4x dari dirinya sendiri, tetapi mengubah mapobjek generator ke daftar masih lebih cepat daripada pemahaman, dan membuat daftar dengan membongkar mapgenerator (terima kasih Artem!) Masih sedikit lebih cepat.
Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import timeit
>>> setup = """import random
random.seed(10)
l = [str(random.randint(0, 99)) for i in range(100)]"""
>>> timeit.timeit('[int(v) for v in l]', setup)
25.133059591551955
>>> timeit.timeit('list(map(int, l))', setup)
19.705547827217515
>>> timeit.timeit('[*map(int, l)]', setup)
19.45838406513076
Catatan: Dalam Python 3, 4 elemen tampaknya menjadi titik crossover (3 dalam Python 2) di mana pemahamannya sedikit lebih cepat, meskipun membongkar generator masih lebih cepat daripada daftar dengan lebih dari 1 elemen.