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. TCP连接状态

    TCP 连接状态按 TCP 协议的标准表示法, TCP 可具有如下几种状态,为讨论方便,如下讨论中区分服务端和客户端,实际软件处理上对二者一视同仁. CLOSED关闭状态.在两个通信端使用“三路握手” ...

  2. NotePad++ for PHP

    原文:NotePad++ for PHP 一.安装设置 1.首先根据你的系统下载相应的安装文件.http://notepad-plus-plus.org/ Notepad++插件:http://sou ...

  3. 还在等待漫长的iOS构建过程?来试试通过命令行的方式进行iOS应用快速构建和运行吧

    不必多言,Xcode慢得很是众所周知的了.更甚者是,我有时发觉自己太依赖于Cocoa Touch的自动完成功能了,这可是个天使和魔鬼的结合体! 故此我开始去寻觅一个替代的流程来通过命令行来实现我需要的 ...

  4. SQL点滴35—SQL语句中的exists

    原文:SQL点滴35-SQL语句中的exists 比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers c WHE ...

  5. 快速构建Windows 8风格应用32-构建辅助磁贴

    原文:快速构建Windows 8风格应用32-构建辅助磁贴 引言 Windows Phone中,我们开发者可能会开发的一个功能点是将数据列表中某一项"Pin To Start(固定到开始屏幕 ...

  6. openwrt的默认/etc/config/network文件是如何生成的?

    openwrt的network文件,或者说在/etc/config下的文件,都是动态生成的. 脚本的函数定义在openwrt1407/package/base-files/files/lib/func ...

  7. POJ 2560 Freckles Prime问题解决算法

    这个问题正在寻求最小生成树. 给定节点的坐标,那么我们需要根据各个点之间的这些坐标来计算距离. 除了这是标准的Prime算法的,能源利用Prime基本上,你可以使用Kruskal. 经典的算法必须填写 ...

  8. [译]Java 设计模式之装饰器

    (文章翻译自Java Design Pattern: Decorator – Decorate your girlfriend) 1.装饰模式的来历 让我们假设你在寻找一个女朋友.有来自像没美国中国日 ...

  9. C语言运算符表(优先级)

    http://www.is.pku.edu.cn/~qzy/c/operator.htm

  10. Effective C++ Item 46 当需要投你非成员函数定义模板

    本文senlie原版的,转载请保留此地址:http://blog.csdn.net/zhengsenlie 经验:当我们编写一个 class template, 而它所提供之"与此 temp ...