我正在从文件中读取行,并希望将它们转换为整数名单。名单文件有一百万台词。所以呢,我只是想知道哪一个程序会成功快点说,
lst=['10','12','31','41','15']是从文件中读取的当前行。
我可以用地图功能来做铸造,比如-
lst1=map(int,lst)
或者使用for函数,比如-
lst2=[int(x) for x in lst]
哪种方法最有效、最快?你知道吗
>>> from timeit import timeit
>>> setup = "lst = ['10','12','31','41','15']"
>>> timeit('map(int, lst)', setup)
4.454881024529442
>>> timeit('[int(x) for x in lst]', setup)
4.7153410495946275
>>> timeit('[int(x, 10) for x in lst]', setup)
1.6508196962672343
[int(x, 10) for x in lst]
至少比您的两种方式快得多:使用Python2.7.11进行测试(我假设您使用Python2,因为否则您的
lst1=map(...)
会产生误导)。你知道吗相关问题 更多 >
编程相关推荐