两种铸造工艺的性能比较

2024-10-01 07:43:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在从文件中读取行,并希望将它们转换为整数名单。名单文件有一百万台词。所以呢,我只是想知道哪一个程序会成功快点说, lst=['10','12','31','41','15']是从文件中读取的当前行。 我可以用地图功能来做铸造,比如- lst1=map(int,lst) 或者使用for函数,比如- lst2=[int(x) for x in lst] 哪种方法最有效、最快?你知道吗


Tags: 文件方法函数in程序mapfor整数
1条回答
网友
1楼 · 发布于 2024-10-01 07:43:27

[int(x, 10) 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

使用Python2.7.11进行测试(我假设您使用Python2,因为否则您的lst1=map(...)会产生误导)。你知道吗

相关问题 更多 >