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的Django中django-userena组件的简单使用教程
May 30 Python
Python+django实现文件上传
Jan 17 Python
Python+Wordpress制作小说站
Apr 14 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
Jan 22 Python
Python实现朴素贝叶斯分类器的方法详解
Jul 04 Python
python使用webdriver爬取微信公众号
Aug 31 Python
Python2 Selenium元素定位的实现(8种)
Feb 25 Python
python+openCV利用摄像头实现人员活动检测
Jun 22 Python
wxPython实现画图板
Aug 27 Python
python3 sleep 延时秒 毫秒实例
May 04 Python
解决python对齐错误的方法
Jul 16 Python
python实现web邮箱扫描的示例(附源码)
Mar 30 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
Php 构造函数construct的前下划线是双的_
2009/12/08 PHP
关于使用key/value数据库redis和TTSERVER的心得体会
2013/06/28 PHP
php开启openssl的方法
2014/05/15 PHP
PHP之autoload运行机制实例分析
2014/08/28 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
php获取linux命令结果的实例
2017/03/13 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
玩转jQuery按钮 请告诉我你最喜欢哪些?
2012/01/08 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
2015/03/03 Javascript
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
详解前端自动化工具gulp自动添加版本号
2016/12/20 Javascript
jQuery UI仿淘宝搜索下拉列表功能
2017/01/10 Javascript
Vue中使用clipboard实现复制功能
2018/09/05 Javascript
vue的$http的get请求要加上params操作
2020/11/12 Javascript
[02:36]DOTA2英雄基础教程 斯拉克
2013/11/29 DOTA
[03:48]DOTA2完美大师赛主赛事第二日精彩集锦
2017/11/24 DOTA
Python实现简单拆分PDF文件的方法
2015/07/30 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
2019/07/28 Python
Python算法的时间复杂度和空间复杂度(实例解析)
2019/11/19 Python
Python如何使用OS模块调用cmd
2020/02/27 Python
django 模型中的计算字段实例
2020/05/19 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
keras训练浅层卷积网络并保存和加载模型实例
2020/07/02 Python
高山背包:High Sierra
2017/11/23 全球购物
益达广告词
2014/03/14 职场文书
会计员岗位职责
2014/03/15 职场文书
文明倡议书范文
2014/04/15 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
骨干教师考核评语
2014/12/31 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
思品教学工作总结
2015/08/10 职场文书
给校长的建议书作文500字
2015/09/14 职场文书