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 socket.error: [Errno 98] Address already in use的原因和解决方法
Aug 25 Python
Python中实现三目运算的方法
Jun 21 Python
Python实现好友全头像的拼接实例(推荐)
Jun 24 Python
Python中常见的异常总结
Feb 20 Python
Python告诉你木马程序的键盘记录原理
Feb 02 Python
Python第三方库h5py_读取mat文件并显示值的方法
Feb 08 Python
python爬取基于m3u8协议的ts文件并合并
Apr 26 Python
Python利用神经网络解决非线性回归问题实例详解
Jul 19 Python
python numpy数组中的复制知识解析
Feb 03 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
Feb 14 Python
Python使用pycharm导入pymysql教程
Sep 16 Python
python实现会员管理系统
Mar 18 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(3)
2006/10/09 PHP
数字转英文
2006/12/06 PHP
PHP字符串 ==比较运算符的副作用
2009/10/21 PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
2013/02/18 PHP
php全角字符转换为半角函数
2014/02/07 PHP
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
List Information About the Binary Files Used by an Application
2007/06/11 Javascript
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
jQuery动态创建html元素的常用方法汇总
2014/09/05 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
jQuery+AJAX实现遮罩层登录验证界面(附源码)
2020/09/13 Javascript
window.onerror()的用法与实例分析
2016/01/27 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
PHP获取当前页面完整URL的方法
2016/12/02 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
基于jQuery实现滚动刷新效果
2017/01/09 Javascript
Swiper实现轮播图效果
2017/07/03 Javascript
JavaScript输出所选择起始与结束日期的方法
2017/07/12 Javascript
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
2018/08/05 Javascript
node上的redis调用优化示例详解
2018/10/30 Javascript
js中实现继承的五种方法
2021/01/25 Javascript
[02:36]DOTA2英雄基础教程 一击致命幻影刺客
2013/12/06 DOTA
python简单读取大文件的方法
2016/07/01 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
numpy中矩阵合并的实例
2018/06/15 Python
python读写LMDB文件的方法
2018/07/02 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
python实现指定ip端口扫描方式
2019/12/17 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
HTML5之语义标签介绍
2016/07/07 HTML / CSS
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
医生自荐信
2013/10/11 职场文书
国旗下讲话演讲稿
2014/05/08 职场文书
Python快速优雅的批量修改Word文档样式
2021/05/20 Python