在python中反转字符串的最快方法
作者:互联网
我能够提出两种不同的方法来反转Python中的字符串.
Commonsense规定代码行越多,运行速度越慢.
我做了以下几行代码:
代码1
"".join(reversed(map(lambda x:x,st)))
码2
st[::-1]
这些表现相似.对于20000长的字符串,我无法看到甚至毫秒级的性能差异.
我认为第一个应该是一个较慢的方法,因为它执行了3倍以上的操作.
题
为什么我没有看到性能差异?
解决方法:
我看到了一个区别.
首先,地图是什么(lambda x:x,st)?什么目的?
使用timeit模块测试代码:
$python -m timeit '"".join(reversed("abcdefghijklmnopqrstuvwxyz"))'
1000000 loops, best of 3: 0.586 usec per loop
$python -m timeit '"abcdefghijklmnopqrstuvwxyz"[::-1]'
10000000 loops, best of 3: 0.0715 usec per loop
如您所见,对于此特定输入,切片在我的机器上快约8倍.它也更简洁.
标签:string-matching,python,string 来源: https://codeday.me/bug/20191007/1865261.html