python cookbook 读书笔记1(字符串处理1)
2015-04-23 14:35
489 查看
今日开始阅读python cook book,学习内容记录一下。
1.1对于字符串处理,可以将字符串变成一个列表,可以用for循环字符串,也可以用map()来处理单个字符。字符串是可以变成集合,之后求交集等一系列运算,但字符串是不可以的。例子如下。
>>> a='wf4wf34f'
>>> list(a)
['w', 'f', '4', 'w', 'f', '3', '4', 'f']
>>> for c in a:
... print c
...
w
f
4
w
f
3
4
f
>>> map(ord,a)
[119, 102, 52, 119, 102, 51, 52, 102]
>>> x='ergreg'
>>> y='regrwg'
>>> print ''.join(sets.Set(x)&sets.Set(y))
reg
1.3测试一个字符串是否是类对象,可以使用isinstance(string,basestring)来做,但是这个只能测试由basestring派生的字符串(比如类字符串对象就不是basestring派生),所以不全面,书中给出全面的例子为:
>>> def isStringLike(test_string):
... try:
... test_string.lower()+test_string+''
... except:
... return False
... else:
... return True
...
>>> isStringLike(12)
False
>>> isStringLike('wrfw')
True
1.4字符串对齐,字符串对齐的函数有ljust(),rjust(),center(),分别是左对齐,右对齐,居中,第一个参数为一共站多少位,默认占位符是空格。
>>> print '|','abc'.ljust(10),'|','abc'.rjust(10),'|','abc'.center(10),'|'
| abc | abc | abc |
这三个函数可以添加另外的参数作为分隔符
>>> print '|','abc'.ljust(10,'+'),'|','abc'.rjust(10,'+'),'|','abc'.center(10,'+'),'|'
| abc+++++++ | +++++++abc | +++abc++++ |
1.5去除字符串两端的空格,书里一共提供了三个函数,lstrip(),rstrip(),strip(),分别是去除左边右边两端的空格。
>>> x=' efrfre '
>>> print '|',x.lstrip(),'|',x.rstrip(),'|',x.strip(),'|'
| efrfre | efrfre | efrfre |
同样这三个函数也可以加参数,参数是或的关系,
>>> x='bsbsbsbs hfwhrnggweru sbsbsbsb'
>>> print '|'+x.strip('sb')+'|'
| hfwhrnggweru |
1.6合并字符串,书里的建议就是尽量使用%s占位符和join函数合并字符串,尽量不要使用+来拼接字符串,因为每执行一次‘+’都会创建销毁对象,直到全部拼接完成。
1.7反转字符串,对于字符串的反转很简单,使用切片方式反转
>>> a='eognetgjnb'
>>> a[::-1]
'bnjgtengoe'
对于列表或者元组,使用这种方式是把其中元素的顺序反转,每个元素并不反转
>>> a=['a','big','pig']
>>> b=('a','small','dog')
>>> a[::-1]
['pig', 'big', 'a']
>>> b[::-1]
('dog', 'small', 'a')
在看这个的时候突然想到如果把列表里面的每个元素都反转应该怎么做,百度了一下这么写
import itertools
>>> b=['a','big','pig']
>>>''.join(itertools.chain(*b))
'abigpig'
之后把他list()一下,之后用列表切片重组一下就行了。
1.1对于字符串处理,可以将字符串变成一个列表,可以用for循环字符串,也可以用map()来处理单个字符。字符串是可以变成集合,之后求交集等一系列运算,但字符串是不可以的。例子如下。
>>> a='wf4wf34f'
>>> list(a)
['w', 'f', '4', 'w', 'f', '3', '4', 'f']
>>> for c in a:
... print c
...
w
f
4
w
f
3
4
f
>>> map(ord,a)
[119, 102, 52, 119, 102, 51, 52, 102]
>>> x='ergreg'
>>> y='regrwg'
>>> print ''.join(sets.Set(x)&sets.Set(y))
reg
1.3测试一个字符串是否是类对象,可以使用isinstance(string,basestring)来做,但是这个只能测试由basestring派生的字符串(比如类字符串对象就不是basestring派生),所以不全面,书中给出全面的例子为:
>>> def isStringLike(test_string):
... try:
... test_string.lower()+test_string+''
... except:
... return False
... else:
... return True
...
>>> isStringLike(12)
False
>>> isStringLike('wrfw')
True
1.4字符串对齐,字符串对齐的函数有ljust(),rjust(),center(),分别是左对齐,右对齐,居中,第一个参数为一共站多少位,默认占位符是空格。
>>> print '|','abc'.ljust(10),'|','abc'.rjust(10),'|','abc'.center(10),'|'
| abc | abc | abc |
这三个函数可以添加另外的参数作为分隔符
>>> print '|','abc'.ljust(10,'+'),'|','abc'.rjust(10,'+'),'|','abc'.center(10,'+'),'|'
| abc+++++++ | +++++++abc | +++abc++++ |
1.5去除字符串两端的空格,书里一共提供了三个函数,lstrip(),rstrip(),strip(),分别是去除左边右边两端的空格。
>>> x=' efrfre '
>>> print '|',x.lstrip(),'|',x.rstrip(),'|',x.strip(),'|'
| efrfre | efrfre | efrfre |
同样这三个函数也可以加参数,参数是或的关系,
>>> x='bsbsbsbs hfwhrnggweru sbsbsbsb'
>>> print '|'+x.strip('sb')+'|'
| hfwhrnggweru |
1.6合并字符串,书里的建议就是尽量使用%s占位符和join函数合并字符串,尽量不要使用+来拼接字符串,因为每执行一次‘+’都会创建销毁对象,直到全部拼接完成。
1.7反转字符串,对于字符串的反转很简单,使用切片方式反转
>>> a='eognetgjnb'
>>> a[::-1]
'bnjgtengoe'
对于列表或者元组,使用这种方式是把其中元素的顺序反转,每个元素并不反转
>>> a=['a','big','pig']
>>> b=('a','small','dog')
>>> a[::-1]
['pig', 'big', 'a']
>>> b[::-1]
('dog', 'small', 'a')
在看这个的时候突然想到如果把列表里面的每个元素都反转应该怎么做,百度了一下这么写
import itertools
>>> b=['a','big','pig']
>>>''.join(itertools.chain(*b))
'abigpig'
之后把他list()一下,之后用列表切片重组一下就行了。
相关文章推荐
- python cookbook 学习笔记 -- 1.8 检查字符串中是否包含某字符集合中的字符
- Python Cookbook 第二版 汉化版 [Recipe 1.1] 逐个处理字符串中的各个字符
- python cookbook 读书笔记3(字符串处理3)
- python cookbook 学习笔记 -- 1.1一次处理一个字符
- python cookbook第三版学习笔记四:文本以及字符串令牌解析
- python cookbook第三版学习笔记三:列表以及字符串
- python cookbook 学习笔记 -- 1.4 字符串对齐
- python cookbook 学习笔记 -- 1.5 去除字符串两端空格
- Python Cookbook 第二版 汉化版 [Recipe 1.1] 逐个处理字符串中的各个字符
- python cookbook 读书笔记2(字符串处理2)
- python cookbook 学习笔记 -- 1.7 将字符串逐字符或逐词反转
- python cookbook 学习笔记 -- 1.6 合并字符串
- python 探索(三) Python CookBook 文本处理 笔记
- python cookbook 学习笔记 -- 1.3 测试一个对象是否是类字符串
- 【python cookbook】 将字符串逐字符或逐词反转
- python字符串处理学习笔记
- python字符串的操作——python cookbook
- Python Cookbook 第二版 汉化版 [Recipe 1.5] 去除字符串末尾的空格
- python cookbook 第一章阅读笔记
- 【python cookbook】 检查字符串中是否包含某自符集合中的字符