在Python中反转字符串的最快方法

bvjveswy  于 2023-06-28  发布在  Python
关注(0)|答案(2)|浏览(122)

我能够想出两种不同的方法来反转Python中的字符串。
常识告诉我们,行数越多的代码运行速度越慢。我用两种方法反转了字符串。
实施1:

"".join(reversed(map(lambda x:x,st)))

实施二:

st[::-1]

它们具有相似的性能。即使对于20000个字符的字符串,差异也小于1毫秒。
我认为第一个应该是一个较慢的方法,因为它执行3倍以上的操作。
为什么我看不到性能差异?

zbq4xfa0

zbq4xfa01#

我看到了不同。
首先,map(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倍。它也更简洁。

sf6xfgos

sf6xfgos2#

s=input("enter string")
print(s[::-1])

相关问题