python cookbook学习笔记 第一章 文本(1)

1.1每次处理一个字符(即每次处理一个字符的方式处理字符串)

print list('theString') #方法一,转列表
结果:['t', 'h', 'e', 'S', 't', 'r', 'i', 'n', 'g']
for c in 'theString':#方法二,for循环
print c,

结果:t h e S t r i n g

print [c for c in 'theString'] #方法三,列表推导式
结果:['t', 'h', 'e', 'S', 't', 'r', 'i', 'n', 'g']
print map(str,'theString')#方法四,map处理,和列表推导式一样
结果:['t', 'h', 'e', 'S', 't', 'r', 'i', 'n', 'g']
print set('thethe')#此方法只适应特定的时刻,看结果就知道,set把重复的字符去掉了,并且无序

结果:set(['h', 'e', 't'])

1.2字符和字符值的转换

print ord('a') #字符转字符值
print chr(97) #字符值转字符 print ord(u'\u2020') #返回unicode码值
print repr(unichr(8224)) #返回unicode字符串 print map(ord,'kaluoc') #字符串转换成各个字符的值的列表
print ''.join(map(chr,range(97,100))) #将值转换成字符并连接成字符串

结果:

97
a
8224
u'\u2020' [107, 97, 108, 117, 111, 99]
abc

额外的知识:

str()和chr()区别:

print chr(97) #返回参数对应的ASCII单字符的字符串
print str(97) #返回该参数的文本形式的字符串

结果:

a

97

str()和repr()区别:

print 1,str('   '),1 #对用户比较友好的字符串形式,通常无法用于eval()求值,一般用在print语句输出
print 1,repr(' '),1 #对python(即机器)比较友好

结果:

1     1
1 ' ' 1

1.3测试一个对象是否是类字符串

def isExactlyAString(anobj):
return type(anobj) is type('') #这是糟糕的,因为unicode的无法通过测试,用户自己自定义的也无法通过测试
def isAString(anobj):
return isinstance(anobj,basestring)#basestring是str和unicode的基类,但这不完美,因为有些类不是从basestring派生的,如UserString
def isStringLike(anobj):
try:anobj.lower()+anobj+'' #通过对参数anobj的一些String操作,来测试参数是否是类字符,较完美,但速度有影响
except: return False
else: return True

1.4字符串对齐

print '|','kaluoc'.ljust(20),'|','kaluoc'.center(20),'|','kaluoc'.rjust(20),'|' #后面的参数20,总共的空格数
print 'kaluoc'.center(20,'+') #可指定填充特定字符

结果:

| kaluoc               |        kaluoc        |               kaluoc |
+++++++kaluoc+++++++

1.5去除字符串两端的空格

x='    kaluoc   '
print '|',x.lstrip(),'|',x.rstrip(),'|',x.strip(),'|'
x='xyxxyy kaluocyx yysx'
print '|'+x.strip('xy')+'|' #仅仅去掉两端的xy,但空格被保存下来了

结果:

| kaluoc    |     kaluoc | kaluoc |
| kaluocyx yys|
 
 
分类: cookbook
标签: python字符文本cookbook

python cookbook学习1的更多相关文章

  1. python cookbook 学习系列(一) python中的装饰器

    简介 装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理.缓 ...

  2. python cookbook学习笔记 第一章 文本(1)

    1.1每次处理一个字符(即每次处理一个字符的方式处理字符串) print list('theString') #方法一,转列表 结果:['t', 'h', 'e', 'S', 't', 'r', 'i ...

  3. python cookbook学习笔记 第一章 文本(2)

    1.6合并字符串 ka=list('kaluoc') #字符串转成字符串列表 print ''.join(ka) #大量的字符串相连,join是最高效的 print '%s%s something % ...

  4. python cookbook第三版学习笔记十:类和对象(一)

    类和对象: 我们经常会对打印一个对象来得到对象的某些信息. class pair:     def __init__(self,x,y):         self.x=x         self. ...

  5. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  6. 60分钟Python快速学习(给发哥一个交代)

    60分钟Python快速学习 之前和同事谈到Python,每次下班后跑步都是在听他说,例如Python属于“胶水语言啦”,属于“解释型语言啦!”,是“面向对象的语言啦!”,另外没有数据类型,逻辑全靠空 ...

  7. python爬虫学习(1) —— 从urllib说起

    0. 前言 如果你从来没有接触过爬虫,刚开始的时候可能会有些许吃力 因为我不会从头到尾把所有知识点都说一遍,很多文章主要是记录我自己写的一些爬虫 所以建议先学习一下cuiqingcai大神的 Pyth ...

  8. python爬虫学习 —— 总目录

    开篇 作为一个C党,接触python之后学习了爬虫. 和AC算法题的快感类似,从网络上爬取各种数据也很有意思. 准备写一系列文章,整理一下学习历程,也给后来者提供一点便利. 我是目录 听说你叫爬虫 - ...

  9. Python正则表达式学习摘要及资料

    摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2 ...

随机推荐

  1. oracle删除重复记录,只保留rowid最小的记录

    初探oracle删除重复记录,只保留rowid最小的记录   如题,初探oracle删除重复记录,只保留rowid最小的记录(rowid可以反映数据插入到数据库中的顺序) 一.删除重复记录可以使用多种 ...

  2. 下载的youtube视频

    youtube 视频下载方法[详解]   1.打开网址: http://kej.tw/flvretriever/. 2.输入要下载的youtube视频的网址. 3.点击右侧RETRIEVE NOW ! ...

  3. 随记一个C的毫秒级群PING

    正好公司为了检测前台网络,力图收集有力证据与某CDN PK,所以随手写了一个群PING的程序. 写的内容比较简单,没有去特别追求线程效率,也没有去用LINUX 2.6+的殿堂级神器,以追求实现效率为主 ...

  4. 基于tomcat为了应对高并发模型实现webserver

    在博客上,一个简单的AIOweb来样加工.查看AIO异步处理,依靠操作系统完成IO操作Proactor处理模型确实很强大,它可以实现高并发.高响应server一个很好的选择,但在tomcat中间con ...

  5. android 如何加入第一3正方形lib图书馆kernel于

    注意:只能lib图书馆kernel编译到位.例如下列: alps/kernel/ alps/mediatek/custom/common/kernel/ alps/mediatek/custom/$p ...

  6. leetcode先刷_Unique Binary Search Trees II

    可能没想到,人的简单方法,关于质询的问题提出做. 如何把产生出来的所有的树木?所使用的方法当然是递归,但是有一个致命的问题,假设根节点,然后做一个递归,所以这是非常多的公共树木的根,结果肯定是一团糟. ...

  7. 安装后维修指南再次双系统xp、win7、ubuntu

    在本文中,主机为单个硬盘,三个步骤. 第一步: 使用liveCD要么u盘引导计算机进入ubuntu.这里最好是确保两个系统版本号之间的一致性. 菜单 System -> Administrati ...

  8. Java 之JavaBean 、EJB 和POJO

    由于是创业公司,开发人员较少,所以公司临时决定让几个C的程序猿临时客串Java.所以避免不了有很多基础问题,今天就有两个人都问我,JavaBean和POJO的区别,我可按照自己的理解给他们大致说了下, ...

  9. 1.1 什么是LinQ

    如今,软件应用环境越来越多样化,软件需要处理的数据量也日渐庞大,数据之间的关系日渐复杂.从而带动了存储技术的不断发展,越来越多的数据存储格式被应用到各种软件中. 通常,针对数据的查询是用简单的字符串文 ...

  10. html5 图片上传版本1.0

    1.代码如下: /* autor:shzihouyu date:2015-12-11 ver:1.0 */ var szyFile = { fileDom:null,//html 文件上传控件 pre ...