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网络编程学习笔记(10):webpy框架
Jun 09 Python
Python如何通过subprocess调用adb命令详解
Aug 27 Python
python实现批量修改文件名代码
Sep 10 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
python3基于OpenCV实现证件照背景替换
Jul 18 Python
对pyqt5中QTabWidget的相关操作详解
Jun 21 Python
python多进程(加入进程池)操作常见案例
Oct 21 Python
使用Pytorch来拟合函数方式
Jan 14 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
Mar 06 Python
python中JWT用户认证的实现
May 18 Python
OpenCV-Python实现图像平滑处理操作
Jun 08 Python
Python OpenCV实现传统图片格式与base64转换
Jun 13 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 一个随机字符串生成代码
2010/05/26 PHP
微信公众平台消息接口校验与消息接口响应实例
2014/12/23 PHP
PHP汉字转换拼音的函数代码
2015/12/30 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
PHP使用SMTP邮件服务器发送邮件示例
2018/08/28 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
javascript自执行函数
2017/02/10 Javascript
JavaScript实现审核流程状态的动态显示进度条
2017/03/15 Javascript
浅谈Vue数据绑定的原理
2018/01/08 Javascript
JS闭包原理与应用经典示例
2018/12/20 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
Vue 组件复用多次自定义参数操作
2020/07/27 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
2020/09/16 Javascript
vue 避免变量赋值后双向绑定的操作
2020/11/07 Javascript
python3.4用循环往mysql5.7中写数据并输出的实现方法
2017/06/20 Python
python中装饰器级连的使用方法示例
2017/09/29 Python
Python利用splinter实现浏览器自动化操作方法
2018/05/11 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
python matplotlib画图库学习绘制常用的图
2019/03/19 Python
python实现计算器功能
2019/10/31 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
2020/06/11 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
python 带时区的日期格式化操作
2020/10/23 Python
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
美国体育用品商店:Rally House(NCAA、NFL、MLB、NBA、NHL和MLS)
2018/01/03 全球购物
什么是跨站脚本攻击
2014/12/11 面试题
北大青鸟学生求职信
2013/09/24 职场文书
娱乐节目策划方案
2014/06/10 职场文书
2014年学生会工作总结
2014/11/07 职场文书
尊师重教主题班会
2015/08/14 职场文书
python 逐步回归算法
2021/04/06 Python