今日开始阅读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 |
| abc+++++++ | +++++++abc | +++abc++++ |
>>> print '|',x.lstrip(),'|',x.rstrip(),'|',x.strip(),'|'
| efrfre | efrfre | efrfre |
>>> print '|'+x.strip('sb')+'|'
| hfwhrnggweru |
>>> a[::-1]
'bnjgtengoe'
>>> b=('a','small','dog')
>>> a[::-1]
['pig', 'big', 'a']
>>> b[::-1]
('dog', 'small', 'a')
'abigpig'