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 相关文章推荐
Windows上使用virtualenv搭建Python+Flask开发环境
Jun 07 Python
详解Python 数据库 (sqlite3)应用
Dec 07 Python
python的pdb调试命令的命令整理及实例
Jul 12 Python
基于python socketserver框架全面解析
Sep 21 Python
Python实现对一个函数应用多个装饰器的方法示例
Feb 09 Python
关于python2 csv写入空白行的问题
Jun 22 Python
解决python3中的requests解析中文页面出现乱码问题
Apr 19 Python
Python分布式进程中你会遇到的问题解析
May 28 Python
基于sklearn实现Bagging算法(python)
Jul 11 Python
python3.6生成器yield用法实例分析
Aug 23 Python
django前端页面下拉选择框默认值设置方式
Aug 09 Python
Python下opencv使用hough变换检测直线与圆
Jun 18 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
浅谈PDO的rowCount函数
2015/06/18 PHP
开启PHP Static 关键字之旅模式
2015/11/13 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
javascript删除option选项的多种方法总结
2013/11/22 Javascript
JSON相关知识汇总
2015/07/03 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
JS组件系列之Bootstrap table表格组件神器【终结篇】
2016/05/10 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
Vue.js计算属性computed与watch(5)
2016/12/09 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
对Vue table 动态表格td可编辑的方法详解
2018/08/28 Javascript
微信小程序实现多行文字滚动
2020/11/18 Javascript
微信小程序抽奖组件的使用步骤
2021/01/11 Javascript
[01:14]TI珍贵瞬间系列(六):冠军
2020/08/30 DOTA
浅谈python import引入不同路径下的模块
2017/07/11 Python
python实现kNN算法
2017/12/20 Python
python字典快速保存于读取的方法
2018/03/23 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
python无限生成不重复(字母,数字,字符)组合的方法
2018/12/04 Python
python求最大值,不使用内置函数的实现方法
2019/07/09 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
2020/06/02 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
python 实现学生信息管理系统的示例
2020/11/28 Python
国贸专业个人求职信分享
2013/12/04 职场文书
运动会跳远加油稿
2014/02/20 职场文书
环保建议书500字
2014/05/14 职场文书
计算机软件专业求职信
2014/06/10 职场文书
学校通报表扬范文
2015/05/04 职场文书
污染环境建议书
2015/09/14 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技