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获取本机外网ip的方法
Apr 15 Python
举例详解Python中yield生成器的用法
Aug 05 Python
python批量实现Word文件转换为PDF文件
Mar 15 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
Apr 17 Python
JavaScript实现一维数组转化为二维数组
Apr 17 Python
Python numpy 点数组去重的实例
Apr 18 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
Jul 01 Python
python实现微信自动回复机器人功能
Jul 11 Python
简单了解python gevent 协程使用及作用
Jul 22 Python
python随机生成库faker库api实例详解
Nov 28 Python
几款Python编译器比较与推荐(小结)
Oct 15 Python
Python实现微信表情包炸群功能
Jan 28 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
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
php 模拟POST提交的2种方法详解
2013/06/17 PHP
CodeIgniter配置之SESSION用法实例分析
2016/01/19 PHP
浅谈thinkphp5 instance 的简单实现
2017/07/30 PHP
php多进程应用场景实例详解
2019/07/22 PHP
php封装的page分页类完整实例代码
2020/02/01 PHP
range 标准化之获取
2011/08/28 Javascript
JavaScript面向对象程序设计三 原型模式(上)
2011/12/21 Javascript
异步javascript的原理和实现技巧介绍
2012/11/08 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
jquery实现勾选复选框触发事件给input赋值
2015/02/01 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
2015/08/11 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
JS封装的自动创建表格的实现代码
2016/06/15 Javascript
JS button按钮实现submit按钮提交效果
2016/11/01 Javascript
ASP.NET jquery ajax传递参数的实例
2016/11/02 Javascript
jQuery 常见小例汇总
2016/12/14 Javascript
手机端js和html5刮刮卡效果
2020/09/29 Javascript
JS多文件上传的实例代码
2017/01/11 Javascript
html5+canvas实现支持触屏的签名插件教程
2017/05/08 Javascript
理解Koa2中的async&amp;await的用法
2018/02/05 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
sortable+element 实现表格行拖拽的方法示例
2019/06/07 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
Python Cookie 读取和保存方法
2018/12/28 Python
django2.2安装错误最全的解决方案(小结)
2019/09/24 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
计算机应用毕业生自荐信
2013/10/23 职场文书
乔迁宴答谢词
2014/01/21 职场文书
周年庆典答谢词
2015/01/20 职场文书
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS