Python3之实现字符反转
参考: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之实现字符反转的更多相关文章
- python3随记——字符编码
1.1什么是字节 字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符. 比特(bit)在计算机中最小的单位,在二进制位的电脑的系统中,每一b ...
- Java 对字符反转操作。
//把一段字符串反转后大小写互换位置 public class test_demo { public static void main(String[] args)throws Exception { ...
- session安全&&CBC字符反转攻击&&hash拓展攻击
session安全 p神写的: 在传统PHP开发中,$_SESSION变量的内容默认会被保存在服务端的一个文件中,通过一个叫"PHPSESSID"的Cookie来区分用户.这类se ...
- Python3 图片转字符画
https://www.shiyanlou.com/courses/370/labs/1191/document from PIL import Image import argparse ascii ...
- Python3基础 list reverse 反转列表
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- native2ascii.exe 字符转码与反转码
本人最近在做OAF的二次开发,在看别人写的代码时,发现总有类似这样的语句:”\u65e0\u6548\u7684GP\u9879\u76ee\u7f16\u53f7“,这些语句其实是用Java_hom ...
- day008 字符编码之 字符编码 、Python2和Python3字符编码的区别
计算机基础(掌握) 启动应用程序的流程 双击qq 操作系统接受指令然后把该操作转化为0和1发送给CPU CPU接受指令然后把指令发送给内存 内存接受指令把指令发送给硬盘获取数据 qq在内存中运行 文本 ...
- LeetCode 557:反转字符串中的单词 III Reverse Words in a String III
公众号:爱写bug(ID:icodebugs) 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. Given a string, you need to reve ...
- java:StringBuffer字符处理对象
1.添加字符 public class StringBufferDemo { public static void main(String args[]) { StringBuffer sbf = n ...
随机推荐
- Linux环境下安装mysql5.6(二进制包不是rpm格式)
一.准备: 1.CentOS release 6.8 2.mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz 3.Linux下MySQL5.6与MySQL5.7安装方法 ...
- vue 组件高级用法(递归组件,内联模板,动态组件,异步组件)
- STM32F10XX学习笔记的石墨连接
https://shimo.im/docs/QHGRrWxbeb0NiBm9/ <STM32F10X系列笔记>,可复制链接后用石墨文档 App 打开
- shell 编程整合
1.shell 浮点数运算与比较 https://www.cnblogs.com/shixun/p/6179642.html 将字符串比较的 = 改为数值比较的 -eq 更有效 2.linux she ...
- sql server 的触发器的demo例子
-- ============================================= -- Author: <Author,,Name> -- Create date: < ...
- eclipse/myeclipse SVN资源库URL中文乱码问题解决办法
右击选择资源库地址 可以自定义名称
- 078_使用 egrep 过滤 MAC 地址
#!/bin/bash#MAC 地址由 16 进制组成,如 AA:BB:CC:DD:EE:FF#[0-9a-fA-F]{2}表示一段十六进制数值,{5}表示连续出现 5 组前置:的十六进制egrep ...
- Codeforces Global Round 4
目录 Contest Info Solutions A. Prime Minister B. WOW Factor C. Tiles D. Prime Graph E. Archaeology F1. ...
- luogu P2345 奶牛集会
二次联通门 : luogu P2345 奶牛集会 /* luogu P2345 奶牛集会 权值线段树 以坐标为下标, 坐标为值建立线段树 对奶牛按听力由小到大排序 对于要查的牛 每次第i次放入奶牛起作 ...
- 好久木来了,一直忙于项目(加懒惰),今天讲讲vuecli3.0的使用
vue更新换代很快,马上vue都要出3.0了,这是一个巨大的变革,不过今天讲的是vuecli3.0,里面使用的vue仍然是2的,所有可以放心大胆使用. Vue CLI 是一个基于 Vue.js 进行快 ...