《Python CookBook2》 第一章 文本 - 每次处理一个字符 && 字符和字符值之间的转换
文本 - 总结:
- 什么是文本
Python 中的string 类型是不可变类型。
文本,一个字符的矩阵,每一个单独的文本快可以被缩进和组织起来。 - 基本的文本操作
①解析数据并将数据放入程序内部的结构中;
②将数据以某种方式转化为另一种相似的形式,数据本身发生了改变;
③生成全新的数据
每次处理一个字符:
- 任务
用每次处理一个字符的方式处理字符串。 - 解决方案
可以创建一个列表,列表的子项是字符串的字符。
代码如下:>>> thelist = list('thestring')
>>> thelist
['t', 'h', 'e', 's', 't', 'r', 'i', 'n', 'g']
>>> for char in thelist:
print char t
h
e
s
t
r
i
n
g
>>> map(lambda x : x*3,thelist)
['ttt', 'hhh', 'eee', 'sss', 'ttt', 'rrr', 'iii', 'nnn', 'ggg']
字符和字符值之间的转换
- 任务
将一个字符转化为相应的ASCⅡ(ISO)或者Unicode码,或者反其道而行之。 - 解决方案
内建函数 ord 和 chr:>>> ord('a')
97
>>> chr(97)
'a'如果想把一个字符串转化为一个包含各个字符的值的列表,可以想下面这样同时使用内建的map和ord函数:
>>> print map(ord,'python')
[112, 121, 116, 104, 111, 110]如果想通过一个包含了字符值的列表创建字符串,可以使用 ''.join、map和chr
>>> print ''.join(map(chr,range(97,100)))
abc
心得:
1. 编程技巧多参考别人的,才会变成自己的
2. 越是基础的越应该好好记忆,巩固
3. 据说现在系统业务80%是对字符的处理,所以好好用心学习吧
4. 不积跬步无以至千里
《Python CookBook2》 第一章 文本 - 每次处理一个字符 && 字符和字符值之间的转换的更多相关文章
- 《Python CookBook2》 第一章 文本 - 检查字符串中是否包含某字符集合中的字符 && 简化字符串的translate方法的使用
检查字符串中是否包含某字符集合中的字符 任务: 检查字符串中是否出现了某个字符集合中的字符 解决方案: 方案一: import itertools def containAny(seq,aset): ...
- web前端学习python之第一章_基础语法(二)
web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- web前端学习python之第一章_基础语法(一)
web前端学习python之第一章_基础语法(一) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- Python - 字符和字符值之间的转换
字符和字符值之间的转换 Python中, 字符和字符值, 直接的转换, 包含ASCII码和字母之间的转换,Unicode码和数字之间的转换; 也可以使用map, 进行批量转换, 输出为集合, 使用jo ...
- 《Python CookBook2》 第一章 文本 - 去字符串两端的空格 && 合并字符串 && 将字符串逐字符或者逐词反转
去字符串两端的空格 任务: 获得一个开头和末尾都没有多余空格的字符串. 解决方案: 字符串对象的lstrip.rstrip和strip 方法正是为这种任务而设计的.这几个方法都不需要参数,它们会直接返 ...
- python cookbook学习笔记 第一章 文本(1)
1.1每次处理一个字符(即每次处理一个字符的方式处理字符串) print list('theString') #方法一,转列表 结果:['t', 'h', 'e', 'S', 't', 'r', 'i ...
- 第一章 开始编写第一个jsp
第一章 搭好框架,需要tomcat服务器和jdk. JSP是Java Server Page的缩写,现在先让我们编写一个简单的jsp页面,看看jsp究竟能干什么? <%=new java.uti ...
- 进击的Python【第一章】:Python背景初探与Python基础(一)
Python背景初探 一.Python起源 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做 ...
- Python笔记·第一章—— Python基础(一)
一.Python的简介 1.Python的由来与版本 1.1 python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文 ...
随机推荐
- linux入门教程(九) 文本编辑工具vim
前面多次提到过vim这个东西,它是linux中必不可少的一个工具.没有它很多工作都无法完成.早期的Unix都是使用的vi作为系统默认的编辑器的.你也许会有疑问,vi与vim有什么区别?可以这样简单理解 ...
- java实现大数加法、乘法(BigDecimal)
之前写过用vector.string实现大数加法,现在用java的BigDecimal类,代码简单很多.但是在online-judge上,java的代码运行时间和内存大得多. java大数加法:求a+ ...
- eclipse导入maven web 项目 但是不显示成web 项目
http://blog.csdn.net/jun55xiu/article/details/9028403 1:导入Maven webapp项目(以extdirectspring-demo为例): i ...
- java:打包
包名命名规范: 1.包名全部小写 2.包名一般情况下是域名的倒过来写+个性命名,如:tinyphp.com,就写成com.tinyphp+.xxx 打包方法 package + 包名 package ...
- centos杀死进程命令
比如 先查看 httpd 进程 ps aux |grep httpd [root@moyea309 init.d]# ps aux |grep httpdroot 2091 0.0 0. ...
- vi 编辑内容中查找字符位置
[root@localhost gdm]# vi /etc/X11/gdm/gdm.conf # You can also use the gdm-restart and gdm-safe-resta ...
- C++ STL之vector容器的基本操作
注意事项:特别注意任何时候同时使用两个迭代器产生的将会是一个前闭后开的区间(具体见插入和删除的例子)特别注意begin()指向的是vec中的第0个元素,而end是指向最后一个元素的后面一个位置(不是最 ...
- java6 新特新
JAVA6新特性介绍 1. 使用JAXB来实现对象与XML之间的映射 JAXB是Java Architecture for XML Binding的缩写,可以将一个Java对象转变成为XML格式, ...
- USACO 2006 November Gold
POJ 3253 Fence Repair STL堆操作 我想说,STL里堆是我目前见到最蛋疼的操作. #include <cstdio> #include <cstring> ...
- SQL SERVER 2008筛选时报错 无法为该请求检索数据
使用SqlServer2008的筛选功能时报错“无法为该请求检索数据. (Microsoft.SqlServer.Management.Sdk.Sfc)” 如下图: 解决方法: 打上SQL SERVE ...