Python翻转字符串(reverse string), 一共包含5种方法, 其中第一种最简单, 即步长为-1, 输出字符串;

方法如下

5种方法的比较:

1. 简单的步长为-1, 即字符串的翻转(常用);

2. 交换前后字母的位置;

3. 递归的方式, 每次输出一个字符;

4. 双端队列, 使用extendleft()函数;

5. 使用for循环, 从左至右输出;

代码:

   # -*- coding: utf-8 -*-
string = 'abcdef' def string_reverse1(string):
return string[::-1] def string_reverse2(string):
t = list(string)
l = len(t)
for i,j in zip(range(l-1, 0, -1), range(l//2)):
t[i], t[j] = t[j], t[i]
return "".join(t) def string_reverse3(string):
if len(string) <= 1:
return string
return string_reverse3(string[1:]) + string[0] from collections import deque
def string_reverse4(string):
d = deque()
d.extendleft(string)
return ''.join(d) def string_reverse5(string):
#return ''.join(string[len(string) - i] for i in range(1, len(string)+1))
return ''.join(string[i] for i in range(len(string)-1, -1, -1)) print(string_reverse1(string))
print(string_reverse2(string))
print(string_reverse3(string))
print(string_reverse4(string))
print(string_reverse5(string))

输出:

    fedcba
fedcba
fedcba
fedcba
fedcba

最新文章

  1. Android高效加载大图、多图解决方案,有效避免程序OOM
  2. 地图编辑器V1
  3. MVC 多级目录(控制器) 路由重写 及 多级Views目录 的寻找视图的规则
  4. ACM 疯牛
  5. 调度系统任务创建---创建一个MultiJob的任务(四)
  6. 倒计时,js
  7. redis模块
  8. js学习之函数声明与函数表达式区别[原创]
  9. web api 如何接收post过来的json字符串
  10. octopress Endless Error With Gem Dependencies
  11. cobbler常见问题
  12. Android混淆配置文件规范
  13. Apache开启gzip压缩传输
  14. Python并发编程之进程
  15. dos命令的使用
  16. ServletRegistrationBean的源码摘要
  17. Generative Adversarial Nets[LSGAN]
  18. const修饰符与函数
  19. 枚举,Math和Random
  20. Django2.0的path方法无法使用正则表达式的解决办法

热门文章

  1. C/C++ 弱符号
  2. docker安装(yum方式)
  3. scala模式匹配 case a @ b语法
  4. Fresco 源码分析 —— 整体架构
  5. spring cache 学习——@CachePut 使用详解
  6. springboot源码解析-管中窥豹系列之Runner(三)
  7. Sentry(v20.12.1) K8S 云原生架构探索,SENTRY FOR JAVASCRIPT SDK 配置详解
  8. Server 2012 R2 Standard 安装运行PCS7时出现“无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll”解决方法
  9. torch.nn 的本质
  10. 【数据库】MySQL & SQL 介绍