【问题标题】:Alternative Ways to Reverse a String [duplicate]反转字符串的替代方法
【发布时间】:2017-08-31 05:19:58
【问题描述】:

在做作业时,忘记了字符串有内置的反转功能,我想出了自己的反转字符串的方法。

原来是这样:

for i in range(len(string)):
    reversed = string[i] + reversed

我想知道这是否是一种有效(例如,如果我有一个很长的字符串)和正确的反转方式。

【问题讨论】:

  • “正确的倒车方式?” - 考虑到有一种更简单的本地方式,我会说 no。至于“行不行”,大家可以自行判断。
  • 如果你有兴趣可以研究一下内置函数的源代码
  • 我想说这是@Keiwan 指出的骗局。 OTOH,听起来您要求进行代码审查,所以最好属于that site
  • 最快的方法是 [::-1] : hastebin.com/vovapavoyu.py
  • 如果你想研究一种非标准的反转字符串的方法,研究recursion

标签: python string


【解决方案1】:

你可以比较一下时间。这可能效率很低,因为您在每次循环迭代时创建一个新的字符串对象,并在 Python 循环中遍历字符串中的每个字符。然而,内置函数使用本机 C 代码 (CPython)。

【讨论】:

    【解决方案2】:

    有一条线:reversed = string[::-1]

    但是,除非您已经知道语法,否则很难阅读。所以你总是可以把它埋在一个名字更有用的函数中:

    def reverse(string):
        return string[::-1]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 2014-10-29
      • 2013-06-05
      相关资源
      最近更新 更多