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 代码效率的方法
Jul 03 Python
Python字符串处理函数简明总结
Apr 13 Python
Python实现简单截取中文字符串的方法
Jun 15 Python
使用Python生成随机密码的示例分享
Feb 18 Python
Python实现对象转换为xml的方法示例
Jun 08 Python
python 接口_从协议到抽象基类详解
Aug 24 Python
python利用dir函数查看类中所有成员函数示例代码
Sep 08 Python
用Python shell简化开发
Aug 08 Python
纯用NumPy实现神经网络的示例代码
Oct 24 Python
Python发展史及网络爬虫
Jun 19 Python
pycharm显示远程图片的实现
Nov 04 Python
Python TestSuite生成测试报告过程解析
Jul 23 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
php使用GD实现颜色渐变实例
2015/06/02 PHP
PHP实现移除数组中为空或为某值元素的方法
2017/01/07 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
2017/06/06 PHP
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
jquery 实现复选框的全选操作实例代码
2017/01/24 Javascript
jQuery源码分析之init的详细介绍
2017/02/13 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
vue路由跳转传参数的方法
2019/05/06 Javascript
js笔试题-接收get请求参数
2019/06/15 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
[01:21]DOTA2 新英雄 森海飞霞
2020/12/18 DOTA
python单线程实现多个定时器示例
2014/03/30 Python
Python中的yield浅析
2014/06/16 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
Python用Jira库来操作Jira
2020/12/28 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
linux比较文件内容的命令是什么
2013/03/04 面试题
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
市委常委班子党的群众路线教育实践活动整改措施
2014/10/02 职场文书
爱心募捐通知范文
2015/04/27 职场文书