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 相关文章推荐
精确查找PHP WEBSHELL木马的方法(1)
Apr 12 Python
用Python进行基础的函数式编程的教程
Mar 31 Python
在Django的视图(View)外使用Session的方法
Jul 23 Python
Python通过matplotlib画双层饼图及环形图简单示例
Dec 15 Python
python装饰器常见使用方法分析
Jun 26 Python
Django框架基础模板标签与filter使用方法详解
Jul 23 Python
深入浅析Python 中的sklearn模型选择
Oct 12 Python
python通过链接抓取网站详解
Nov 20 Python
python 使用递归实现打印一个数字的每一位示例
Feb 27 Python
django 链接多个数据库 并使用原生sql实现
Mar 28 Python
python将dict中的unicode打印成中文实例
May 11 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
Nov 11 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文件管理基本功能简单操作
2017/01/16 PHP
php批量删除操作代码分享
2017/02/26 PHP
JavaScript 继承详解(二)
2009/07/13 Javascript
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
editable.js 基于jquery的表格的编辑插件
2011/10/24 Javascript
手机端网页点击链接触发自动拨打或保存电话的示例代码
2014/08/15 Javascript
简述JavaScript中正则表达式的使用方法
2015/06/15 Javascript
js实现带有介绍的Select列表菜单实例
2015/08/18 Javascript
js实现左侧网页tab滑动门效果代码
2015/09/06 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
JavaScript之underscore_动力节点Java学院整理
2017/07/03 Javascript
详解JS构造函数中this和return
2017/09/16 Javascript
vux uploader 图片上传组件的安装使用方法
2018/05/15 Javascript
atom-design(Vue.js移动端组件库)手势组件使用教程
2019/05/16 Javascript
微信小程序实现上传word、txt、Excel、PPT等文件功能
2019/05/23 Javascript
[01:11:08]Winstrike vs NB 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python选择排序算法的实现代码
2013/11/21 Python
python实现简单的计时器功能函数
2015/03/14 Python
python实现在windows服务中新建进程的方法
2015/06/30 Python
利用python发送和接收邮件
2016/09/27 Python
python实现读取excel写入mysql的小工具详解
2017/11/20 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
2018/04/19 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
python为什么要安装到c盘
2020/07/20 Python
matplotlib 三维图表绘制方法简介
2020/09/20 Python
Python使用内置函数setattr设置对象的属性值
2020/10/16 Python
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
开会迟到检讨书
2014/02/03 职场文书
2014植树节活动总结
2014/03/11 职场文书
保护环境的标语
2014/06/09 职场文书
教师求职自荐书
2014/06/14 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
mysql数据库实现设置字段长度
2022/06/10 MySQL