Python中字符串的常见操作技巧总结


Posted in Python onJuly 28, 2016

本文实例总结了Python中字符串的常见操作技巧。分享给大家供大家参考,具体如下:

反转一个字符串

>>> S = 'abcdefghijklmnop'
>>> S[::-1]
'ponmlkjihgfedcba'

这种用法叫做three-limit slices

除此之外,还可以使用slice对象,例如

>>> 'spam'[slice(None, None, -1)]
>>>

unicode码与字符(single-character strings)之间的转换

>>> ord('s') # ord -> ordinal
115
>>> chr(115) # chr -> char?
's'

二进制转十进制

>>> B = '1101'
>>> I = 0
>>> while B != '':
...   I = I * 2 + (ord(B[0]) - ord('0'))
...   B = B[1:]
...
>>> I
13

这里的二进制到十进制计算方式是我们已经习惯的计算方法不太一样,我们一般习惯于给二进制的每一位乘上权值再求和。

而这里的计算方式其实跟左移操作类似,计算的方向为从左到右。

(1)2 = 1
(11)2 = (1)2 << 1 + 1
(110)2 = (11)2 << 1 + 0
(1101)2 = (110)2 << 1 + 1

当然还有更简单的方式

>>> int('1101', 2)
13
>>> bin(13)
'0b1101'

为每个字符添加一个间隔符

>>> S = 'spammy'
>>> L = list(S)
>>> L
['s', 'p', 'a', 'm', 'm', 'y']
>>> L[3] = 'x'
>>> L[4] = 'x'
>>> L
['s', 'p', 'a', 'x', 'x', 'y']
>>> S = '-'.join(L)
>>> S
's-p-a-x-x-y'
>>>

更简洁的版本

>>> 'SPAM'.join(['eggs', 'sausage', 'ham', 'toast'])
'eggsSPAMsausageSPAMhamSPAMtoast'

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
用python实现的可以拷贝或剪切一个文件列表中的所有文件
Apr 30 Python
浅析AST抽象语法树及Python代码实现
Jun 06 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
Jul 20 Python
Python使用pip安装pySerial串口通讯模块
Apr 20 Python
使用Python对微信好友进行数据分析
Jun 27 Python
python基础梳理(一)(推荐)
Apr 06 Python
Windows系统Python直接调用C++ DLL的方法
Aug 01 Python
flask 实现上传图片并缩放作为头像的例子
Jan 09 Python
详解Python 重学requests发起请求的基本方式
Feb 07 Python
利用python画出AUC曲线的实例
Feb 28 Python
python读取当前目录下的CSV文件数据
Mar 11 Python
浅谈django 重载str 方法
May 19 Python
Python中不同进制的语法及转换方法分析
Jul 27 #Python
深入理解Python装饰器
Jul 27 #Python
python批量制作雷达图的实现方法
Jul 26 #Python
python 添加用户设置密码并发邮件给root用户
Jul 25 #Python
Python文件夹与文件的相关操作(推荐)
Jul 25 #Python
浅谈python类属性的访问、设置和删除方法
Jul 25 #Python
python直接访问私有属性的简单方法
Jul 25 #Python
You might like
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
自动生成文章摘要的代码[PHP 版本]
2007/03/20 PHP
一道关于php变量引用的面试题
2010/08/08 PHP
CodeIgniter中使用cookie的三种方式详解
2014/07/18 PHP
PHP数据库编程之MySQL优化策略概述
2017/08/16 PHP
PHP数据库操作三:redis用法分析
2017/08/16 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
PHP扩展Swoole实现实时异步任务队列示例
2019/04/13 PHP
javascript 必知必会之closure
2009/09/21 Javascript
javascript数字格式化通用类 accounting.js使用
2012/08/24 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
防止文件缓存的js代码
2013/01/10 Javascript
jquery ready(fn)事件使用介绍
2013/08/21 Javascript
javascript使用正则表达式检测IP地址
2014/12/03 Javascript
JavaScript遍历求解数独问题的主要思路小结
2016/06/12 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
nodejs结合Socket.IO实现的即时通讯功能详解
2018/01/12 NodeJs
js保留两位小数方法总结
2018/01/31 Javascript
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
vue-cli4.x创建企业级项目的方法步骤
2020/06/18 Javascript
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
python 实现堆排序算法代码
2012/06/05 Python
Python中正则表达式的详细教程
2015/04/30 Python
windows10系统中安装python3.x+scrapy教程
2016/11/08 Python
Python实现的弹球小游戏示例
2017/08/01 Python
Tornado 多进程实现分析详解
2018/01/12 Python
python切片及sys.argv[]用法详解
2018/05/25 Python
python字典的遍历3种方法详解
2019/08/10 Python
python修改FTP服务器上的文件名
2019/09/11 Python
Vans英国官方网站:美国南加州的原创极限运动潮牌
2017/01/20 全球购物
出纳年终工作总结2014
2014/12/05 职场文书
承诺书模板大全
2015/05/04 职场文书
2016国培研修心得体会
2016/01/08 职场文书
使用Springboot实现健身房管理系统
2021/07/01 Java/Android
OpenCV绘制圆端矩形的示例代码
2021/08/30 Python
Win11显卡控制面板打开显卡设置方法
2022/04/20 数码科技