Python字符串和字典相关操作的实例详解


Posted in Python onSeptember 23, 2017

Python字符串和字典相关操作的实例详解

字符串操作:

字符串的 % 格式化操作:

str = "Hello,%s.%s enough for ya ?"
values = ('world','hot')
print str % values

输出结果:

Hello,world.hot enough for ya ?

模板字符串:

#coding=utf-8
from string import Template
## 单个变量替换
s1 = Template('$x, glorious $x!')
print s1.substitute(x = 'slurm')

## 美元符号表示以及单个变量的替换
s2 = Template("Make $$ selling $x!")
print s2.substitute(x = 'slurm')

## 字段变量的替换
s3 = Template('A $thing must never $action .')
d = {}
d['thing'] = 'gentleman'
d['action'] = 'show his socks'
print s3.substitute(d)

ps:safe_substitute 不会因缺少值或者不正确使用$字符而出错。

字符串格式化类型:

(1) %字符:标记转换说明符的开始,就是开始替换。
(2) -表示左对齐,+表示在转换值之前加上正负号。0表示转换值位数不够则用0填充。
(3) * 可以指定最小字段宽度。
(4) 点(.)后面跟上精度值。

字符串方法:

(1)find:可以在一个较长的字符串中查找子字符串,返回子串所在位置的最左端索引。如果没有找到则返回-1.

print 'With a moo-moo here, and a moo-moo there'.find('moo')
返回:7

(2)join方法:将字符串拼接起来。

print '/'.join((' ','usr','bin','env'))
输出: /usr/bin/env
ps:和谷歌的guava有点像。

(3)lower方法: 返回字符串的小写字母版。

print 'AK47'.lower()
输出:ak47

(4)replace方法:返回某字符串的所有匹配项均被替换之后的得到的字符串。

'This is a test'.replace('is','ezz')
输出:Thezz ezz a test

(5)split方法:join的逆方法,将字符串分隔成序列。

print '1+2+3+4+5'.split('+')
输出:['1', '2', '3', '4', '5']

(6)strip方法:去除两侧的字符串,默认是空格字符串,也可以指定相应的字符串。

ps:另外可以参加lstrip和rstrip方法。

(7)translate方法:和 replace 方法一样,可以替换字符串中某些部分,但是和前者不同的是,translate方法只处理单个字符。它的优势在于可以同时进行多个替换,有些时候比replace效率高的多。

ps:maketrans方法和translate方法类似。

字典的基本操作:

(1) dict方法:用来构造字典数据。

dict(name='Gumby',age=42)
dict([('name','Gumby'),('age',42)])
ps:都是构造字段的方法。

(2) 字典基本操作:

1. len(d) 返回d中项(键值)的数量。
2. d[k]返回关联到键k上的值。
3. d[k]=v 将值v关联到键k上。
4. del d[k] 删除键为k的项。
5. k in d 检查d中是否含有键为k的项。

(3) copy 方法返回一个具有相同键值对的新字典。

(4) fromkeys:方法使用给定的键建立新的字典,每个键对应的值为None。

print {}.fromkeys(['name','age'])
输出:{'age': None, 'name': None}

(5) get方法:get方法是个更宽松的字典项方法。

d = {}
d['name'] 如此访问时会报错。
d.get('name')访问时,如果不存在会返回None。

(6) haskey: haskey方法可以检查字典中是否含有给出的键。d.has_key(k) 相当于 k in d。

(7) items和iteritems方法:

items方法会将字典按照键值元组列表的形式返回,但没有顺序。
iteritems和items类似,但是返回的是迭代器。

(8) keys和iterkeys和item类似,这个是返回key的列表或者迭代器。

(9) values方法以列表形式返回字典中的值,和keys或iterkeys不同的是,返回的值可以包含重复值。

(10) update方法可以用一个字典来更新另外一个字典。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
Python模块学习 datetime介绍
Aug 27 Python
Python统计文件中去重后uuid个数的方法
Jul 30 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
Apr 27 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
Feb 03 Python
Python中协程用法代码详解
Feb 10 Python
Python paramiko模块的使用示例
Apr 11 Python
解决python中使用plot画图,图不显示的问题
Jul 04 Python
pytorch中tensor的合并与截取方法
Jul 26 Python
Python字符串中删除特定字符的方法
Jan 15 Python
Python如何实现定时器功能
May 28 Python
Python return语句如何实现结果返回调用
Oct 15 Python
Python加密与解密模块hashlib与hmac
Jun 05 Python
使用Turtle画正螺旋线的方法
Sep 22 #Python
详谈python read readline readlines的区别
Sep 22 #Python
Python实现针对含中文字符串的截取功能示例
Sep 22 #Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
Sep 22 #Python
Python中列表list以及list与数组array的相互转换实现方法
Sep 22 #Python
Python实现字符串与数组相互转换功能示例
Sep 22 #Python
Python中用post、get方式提交数据的方法示例
Sep 22 #Python
You might like
在PHP中PDO解决中文乱码问题的一些补充
2010/09/06 PHP
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
JavaScript语句可以不以;结尾的烦恼
2007/03/08 Javascript
使用JavaScript修改浏览器URL地址栏的实现代码
2013/10/21 Javascript
jQuery表格排序组件-tablesorter使用示例
2014/05/26 Javascript
node.js实现逐行读取文件内容的代码
2014/06/27 Javascript
jQuery trigger()方法用法介绍
2015/01/13 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
js创建对象的方法汇总
2016/01/07 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
JS中对Cookie的操作详解
2016/08/05 Javascript
AngularJS中$http使用的简单介绍
2017/03/17 Javascript
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
原生JS实现$.param() 函数的方法
2018/08/10 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
微信小程序发布新版本时自动提示用户更新的方法
2019/06/07 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
详解Python爬虫的基本写法
2016/01/08 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
pandas的to_datetime时间转换使用及学习心得
2019/08/11 Python
Python pygame绘制文字制作滚动文字过程解析
2019/12/12 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
python如何实时获取tcpdump输出
2020/09/16 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
通信专业个人自我鉴定
2013/10/21 职场文书
班长岗位职责
2013/11/10 职场文书
内业资料员岗位职责
2014/01/04 职场文书
毕业生自荐书模版
2014/01/04 职场文书
社区工作感言
2014/02/21 职场文书
诉前财产保全担保书
2014/05/20 职场文书
教师遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
英语教师个人工作总结
2015/02/09 职场文书
稽核岗位职责
2015/02/10 职场文书
如何理解及使用Python闭包
2021/06/01 Python
Docker下安装Oracle19c
2022/04/13 Servers