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. Factorization Machines 学习笔记(二)模型方程

      近期学习了一种叫做 Factorization Machines(简称 FM)的算法,它可对随意的实值向量进行预測.其主要长处包含: 1) 可用于高度稀疏数据场景:2) 具有线性的计算复杂度.本文 ...

  2. MS SQL Server递归查询

    原文:MS SQL Server递归查询 刚才在论坛上看到网友一个要求.参考如下,Insus.NET分析一下,可以使用MS SQL Server的递归查询,得到结果.准备一张表: 根据网友提供的数据, ...

  3. Windows下用C语言连接Mysql注意问题

    原文:Windows下用C语言连接Mysql注意问题 环境是:在VS6.0 安装Mysql后,我们需要相应的头文件以及lib文件,所以安装过程必须是完整安装.否则不会生成include文件夹哦~ 具体 ...

  4. Object-C中Category类体验

    Object-C中Category类体验 Object-C开发的时候有的时候会用到Category类,类似于Java和C#中扩展类,就是如果你觉得如果你觉得常用的方法在String中没有,可以根据业务 ...

  5. 使用线程执行堆栈StackTraceElement设计Android日志模块

    假设你想在你的Android自己主动打印程序MainActivity.onCreate(line:37)这样的类名.方法名称(行)登录如何实现? 1.介绍Java线程执行堆栈  Java.lang包中 ...

  6. testNg的安装与卸载

    1.testNG的安装 打开eclips,点击Help菜单.选择Install New Software. 在弹出的窗口的work with的输入框,输入http://beust.com/eclips ...

  7. C++中出现的计算机术语4

    adaptor(适配器) 一种标准库类型.函数或迭代器,使某种标准库类型.函数或迭代器的行为类似于第二种标准库类型.函数或迭代器.系统提供了三种顺序容器适配器:stack(栈).queue(队列)以及 ...

  8. 编写Javascript类库(jQuery版

    编写Javascript类库(jQuery版) - 进阶者系列 - 学习者系列文章 Posted on 2014-11-13 09:29 lzhdim 阅读(653) 评论(1) 编辑 收藏 本系列文 ...

  9. leetcode第26题--Remove Duplicates from Sorted Array

    problem: Given a sorted array, remove the duplicates in place such that each element appear only onc ...

  10. ubuntu12.04 内核编译 记录

    近期学习linux这门课,做实验要编译系统内核,然后..五一没事就捣鼓了一上午,还好成功了,以下就写下过程吧. 注意:以下过程的有些make 这类的命令 可能要获取权限 1.開始时能够查一下自己如今系 ...