给定list a = ['1', '2', '3', '4']
将元素由str转为int
输出:a = [1, 2, 3, 4]
方法一:
列表推导
a = [int(i) for i in a]
方法二:
运用map()
a = list(map(int,a))
在列表a长度很小的时候两种方法效率相差无几。
但当长度增加,map()的速度会比列表推导快一倍左右
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()效率更佳,方法二更优