pythonはlistのstrバッチをintに変換します(チェーンテーブルの導出とmap効率の比較)
与えられたlist
リストaの長さが小さい場合、2つの方法の効率はほぼ同じである.ただし、長さが増加すると、map()の速度はリストの導出よりも2倍程度速くなります.
0.014027068999894254 0.009008654000354
結論:map()は効率がより良く、方法2がより優れている.
a = ['1', '2', '3', '4']
は、要素をstrからint出力に変換する:a = [1, 2, 3, 4]
方法一:リスト導出a = [int(i) for i in a]
方法2:map()a = list(map(int,a))
を用いるリストaの長さが小さい場合、2つの方法の効率はほぼ同じである.ただし、長さが増加すると、map()の速度はリストの導出よりも2倍程度速くなります.
from timeit import Timer
pre_statement = 'a = range(100000)'
iter_statement1 = 'a = [int(i) for i in a]'
iter_statement2 = 'a = list(map(int,a))'
print(Timer(iter_statement1, pre_statement).timeit(1))
print(Timer(iter_statement2, pre_statement).timeit(1))
0.014027068999894254 0.009008654000354
結論:map()は効率がより良く、方法2がより優れている.