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中itertools模块用法详解
Sep 25 Python
Linux下Python获取IP地址的代码
Nov 30 Python
Python外星人入侵游戏编程完整版
Mar 30 Python
使用Python+wxpy 找出微信里把你删除的好友实例
Feb 21 Python
Python2和Python3的共存和切换使用
Apr 12 Python
python代理工具mitmproxy使用指南
Jul 04 Python
使用python模拟高斯分布例子
Dec 09 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
Dec 26 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
Jan 03 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
Feb 25 Python
Python3开发环境搭建详细教程
Jun 18 Python
Pygame Rect区域位置的使用(图文)
Nov 17 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中的Traits
2015/07/29 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
PHP 实现base64编码文件上传出现问题详解
2020/09/01 PHP
动态改变textbox的宽高的js
2006/10/26 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
Package.js  现代化的JavaScript项目make工具
2012/05/23 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
vue获取form表单的值示例
2019/10/29 Javascript
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
[03:48]DOTA2完美大师赛主赛事第二日精彩集锦
2017/11/24 DOTA
Python中用于转换字母为小写的lower()方法使用简介
2015/05/19 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
2019/06/19 Python
解决Djang2.0.1中的reverse导入失败的问题
2019/08/16 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
2019/09/23 Python
python编写微信公众号首图思路详解
2019/12/13 Python
Python3 集合set入门基础
2020/02/10 Python
Python3.7实现验证码登录方式代码实例
2020/02/14 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
营销人才自我鉴定范文
2013/12/25 职场文书
给幼儿园老师的表扬信
2014/01/19 职场文书
副厂长岗位职责
2014/02/02 职场文书
年终总结会议主持词
2014/03/17 职场文书
数字化校园建设方案
2014/05/03 职场文书
活动总结书
2014/05/08 职场文书
机器人总动员观后感
2015/06/09 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
SQL Server2019数据库之简单子查询的具有方法
2021/04/27 SQL Server
Python3的进程和线程你了解吗
2022/03/16 Python
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python