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算法学习之计数排序实例
Dec 18 Python
python字符串替换示例
Apr 24 Python
python数字图像处理之骨架提取与分水岭算法
Apr 27 Python
python3.4爬虫demo
Jan 22 Python
Python利用matplotlib做图中图及次坐标轴的实例
Jul 08 Python
python函数参数(必须参数、可变参数、关键字参数)
Aug 16 Python
python 默认参数相关知识详解
Sep 18 Python
vscode 配置 python3开发环境的方法
Sep 19 Python
使用python-Jenkins批量创建及修改jobs操作
May 12 Python
PyTorch: Softmax多分类实战操作
Jul 07 Python
Django启动时找不到mysqlclient问题解决方案
Nov 11 Python
Python实现提取PDF简历信息并存入Excel
Apr 02 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
最常用的8款PHP调试工具
2014/07/06 PHP
PHP如何将log信息写入服务器中的log文件
2015/07/29 PHP
基于PHP实现短信验证码接口(容联运通讯)
2016/09/06 PHP
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
Jquery动态添加输入框的方法
2015/05/29 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
jquery+ajax请求且带返回值的代码
2015/08/12 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
2015/11/03 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
js获取指定时间的前几秒
2017/04/05 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
深入理解JavaScript创建对象的多种方式以及优缺点
2017/06/01 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
微信小程序实现人脸识别登陆的示例代码
2019/04/02 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
2019/09/29 Javascript
Python实现选择排序
2017/06/04 Python
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
python实现键盘控制鼠标移动
2020/11/27 Python
实例讲解Python3中abs()函数
2019/02/19 Python
浅谈python中get pass用法
2019/03/19 Python
如何使用Python实现斐波那契数列
2019/07/02 Python
Python实现线性判别分析(LDA)的MATLAB方式
2019/12/09 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
中软国际Java程序员机试题
2012/08/19 面试题
口腔医学技术应届生求职信
2013/11/09 职场文书
学生干部学习的自我评价
2014/02/18 职场文书
门店业绩提升方案
2014/06/08 职场文书
Go语言基础切片的创建及初始化示例详解
2021/11/17 Golang
nginx搭建NFS网络文件系统
2022/04/14 Servers