参考:https://www.cnblogs.com/jasmine0627/p/9510296.html

  将字符串s="helloworld"反转为‘dlrowolleh’

  fanzhuan.py

s='helloworld'
#1切片法最常用
r=s[::-1]
print('切片法',r) #2使用reduce
from functools import reduce
#匿名函数,冒号前面为参数,冒号后为返回结果
#第一步x='h',y='e'返回字符串'eh'把这个结果作为新的参数x='eh' y='l' 结果为leh依次类推就把字符串反转了
r=reduce(lambda x,y:y+x,s)
print('reduce函数',r) #3使用递归函数
def func(s):
if len(s)<1:
return s
return func(s[1:])+s[0] r=func(s)
print('递归函数法',r) #4使用栈
def func(s):
l=list(s)
result=''
#把字符串转换成列表pop()方法删除最后一个元素并把该元素作为返回值
while len(l):
result=result+l.pop()
return result r=func(s)
print('使用栈法',r) #5for循环
def func(s):
result=''
max_index=len(s)
#for循环通过下标从最后依次返回元素
for index in range(0,max_index):
result=result+s[max_index-index-1]
return result r=func(s)
print('使用for循环法',r) #6使用列表reverse法
l=list(s)
#reverse方法把列表反向排列
l.reverse()
#join方法把列表组合成字符串
r="".join(l)
print('使用列表reverse法',r)

  输出

切片法 dlrowolleh
reduce函数 dlrowolleh
递归函数法 dlrowolleh
使用栈法 dlrowolleh
使用for循环法 dlrowolleh
使用列表reverse法 dlrowolleh

  

Python3之实现字符反转的更多相关文章

  1. python3随记——字符编码

    1.1什么是字节 字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符. 比特(bit)在计算机中最小的单位,在二进制位的电脑的系统中,每一b ...

  2. Java 对字符反转操作。

    //把一段字符串反转后大小写互换位置 public class test_demo { public static void main(String[] args)throws Exception { ...

  3. session安全&&CBC字符反转攻击&&hash拓展攻击

    session安全 p神写的: 在传统PHP开发中,$_SESSION变量的内容默认会被保存在服务端的一个文件中,通过一个叫"PHPSESSID"的Cookie来区分用户.这类se ...

  4. Python3 图片转字符画

    https://www.shiyanlou.com/courses/370/labs/1191/document from PIL import Image import argparse ascii ...

  5. Python3基础 list reverse 反转列表

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  6. native2ascii.exe 字符转码与反转码

    本人最近在做OAF的二次开发,在看别人写的代码时,发现总有类似这样的语句:”\u65e0\u6548\u7684GP\u9879\u76ee\u7f16\u53f7“,这些语句其实是用Java_hom ...

  7. day008 字符编码之 字符编码 、Python2和Python3字符编码的区别

    计算机基础(掌握) 启动应用程序的流程 双击qq 操作系统接受指令然后把该操作转化为0和1发送给CPU CPU接受指令然后把指令发送给内存 内存接受指令把指令发送给硬盘获取数据 qq在内存中运行 文本 ...

  8. LeetCode 557:反转字符串中的单词 III Reverse Words in a String III

    公众号:爱写bug(ID:icodebugs) 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. Given a string, you need to reve ...

  9. java:StringBuffer字符处理对象

    1.添加字符 public class StringBufferDemo { public static void main(String args[]) { StringBuffer sbf = n ...

随机推荐

  1. jquery.lazyload(懒加载)的使用与配置

    jquery lazyload是一款基于jquery框架的图片延迟加载应用,它可以让用户访问页面的时候只显示当前屏幕所示的图片.原理为利用JS替换图片src为loading图片,新data-origi ...

  2. MyBatis模糊查询和多条件查询

    一.ISmbmsUserDao层 //根据姓名模糊查询 public List<Smbms> getUser(); //多条件查询 public List<Smbms> get ...

  3. webstorm中不能识别react、vue alias 路径别名符号

    https://blog.csdn.net/weixin_37939942/article/details/89388466 因为我平时比较喜欢使用ws做开发,所以在使用vue或react的时候只要使 ...

  4. 二维bit模板

    #include<bits/stdc++.h> using namespace std; typedef long long ll; #define N 1100 const int mo ...

  5. Codeforces Round #589 (Div. 2)

    目录 Contest Info Solutions A. Distinct Digits B. Filling the Grid C. Primes and Multiplication D. Com ...

  6. wepy代码知识点

    index-page <style lang="less"> .index-nood-modal { width: 100vw; height: 100vh; posi ...

  7. 解决vue多个路由共用一个页面的问题

    在日常的vue开发中我们可能会遇见多个路由需要共用一个页面的需求,特别是当路由是通过动态添加的,不同的路由展示的东西只是数据不同其他没有变化.例如: ? 1 2 3 4 5 6 7 8 9 10 11 ...

  8. 数据结构实验之查找一:二叉排序树 (SDUT 3373)

    二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),也称二叉搜索树. #include <stdio.h> #include <s ...

  9. centos7的redis加哨兵系统

    三台服务器 1.下载 wget http://download.redis.io/releases/redis-5.0.3.tar.gztar -zxvf redis-5.0.3.tar.gzcd r ...

  10. python踩坑记录篇,持续更新

    问题1:python语法错误 错误日志如下: print(a[2])    ^IndentationError: unexpected indent [解决方案]:缩进代码错误导致,将print的缩进 ...