编程语言
首页 > 编程语言> > 在python中反转字符串的最快方法

在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