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之玩转字符串(1)
Sep 14 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
Dec 25 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
Apr 27 Python
Python搜索引擎实现原理和方法
Nov 27 Python
用TensorFlow实现多类支持向量机的示例代码
Apr 28 Python
Python拼接字符串的7种方法总结
Nov 01 Python
Python Pandas 箱线图的实现
Jul 23 Python
对python while循环和双重循环的实例详解
Aug 23 Python
numpy按列连接两个维数不同的数组方式
Dec 06 Python
解析python 中/ 和 % 和 //(地板除)
Jun 28 Python
Django中和时区相关的安全问题详解
Oct 12 Python
Python面试不修改数组找出重复的数字
May 20 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调用自己java程序的方法详解
2016/05/13 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
用JS写的一个TableView控件代码
2010/01/23 Javascript
JS实现文字放大效果的方法
2015/03/03 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
javascript设置和获取cookie的方法实例详解
2016/01/05 Javascript
nodejs 中模拟实现 emmiter 自定义事件
2016/02/22 NodeJs
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
JavaScript日期选择功能示例
2017/01/16 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
JavaScript数据结构中栈的应用之表达式求值问题详解
2017/04/11 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
Three.js基础学习教程
2017/11/16 Javascript
详解离线安装npm包的几种方法
2018/11/25 Javascript
Python 字典(Dictionary)操作详解
2014/03/11 Python
Python学习之asyncore模块用法实例教程
2014/09/29 Python
在Pycharm中使用GitHub的方法步骤
2019/06/13 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
python——全排列数的生成方式
2020/02/26 Python
Python自动采集微信联系人的实现示例
2020/02/28 Python
HTML5和CSS3让网页设计提升到下一个高度
2009/08/14 HTML / CSS
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
Java程序员面试题
2016/09/27 面试题
广告学专业毕业生自荐信
2013/09/24 职场文书
高校辅导员推荐信范文
2013/12/25 职场文书
员工培训邀请函
2014/02/02 职场文书
电气个人求职信范文
2014/02/04 职场文书
母亲节感恩寄语
2014/02/21 职场文书
机关作风整顿个人剖析材料
2014/10/06 职场文书
派出所副所长四风问题个人整改措施思想汇报
2014/10/13 职场文书
幸福来敲门观后感
2015/06/04 职场文书
联村联户简报
2015/07/21 职场文书
最新农村养殖致富:资金投入较低的创业项目有哪些?
2019/09/26 职场文书
Apache Calcite 实现方言转换的代码
2021/04/24 Servers