码迷,mamicode.com
首页 > 编程语言 > 详细

python cookbook第2版第1章

时间:2015-06-23 19:45:16      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

第1章:文本

1:每次处理一个字符

1:内建函数list

thelist=list(string)

2:for遍历

for  i in string:pass

3:列表解析

[i for i in string]

4:通过sets模块来解决这个问题

import sets
char=sets.Set(‘abcdeabcd‘)
char1=sets.Set(‘subprocessabcdexyzabcdxyz‘)
print ‘‘.join(char&char1)
#将字符串逐行或逐词反转
s=‘abcde‘
print s[::-1]
s=s.split()
s.reverse()
print ‘‘.join(s)
#或者
s=‘abcde‘
print ‘‘.join(s.split()[::-1])
#也可以通过正则
import re
print u‘正则‘
s=re.split(r‘(\s+)‘,s)
s.reverse()
print ‘‘.join(s)
s=‘abcde‘
#更高级
print ‘ ‘.join(re.split(r"(\s+)",s)[::-1])
#更简洁
print ‘‘.join(reversed(s))



字符和字符值之间
ord(‘a‘)==97
chr(97)==‘a‘

通过map()方式可以编写26个字母
map(ord,‘abcd‘)
反之
print ‘‘.join(chr,range(97,102))

测试一个对象是否是类对象
def isString(obj):
return isinstance(obj,basestring)

字符串对齐
print ‘|‘,‘hej‘.ljust(20),‘|‘,‘hej‘.rjust(20),‘|‘,‘hej‘.center(20),‘|‘
最方便的方式如下
print ‘hej‘.center(20,‘+‘)
去掉字符串两端的空格
x=‘ hej ‘
print ‘|‘,x.lstrip( ),‘|‘,x.rstrip( ),‘|‘,x.strip( ),‘|‘

x=‘xyxxyy hejyx yyx‘
print ‘|‘+x.strip(‘xy‘)+‘|‘#固定宽度

合并字符串
string=‘‘.join(string)
string=‘%s %s year %s‘%(a,b,c)
string=s+s+s+‘string‘
string=‘‘
for s in l:
  string+=s
或者通过模块
import operator
string=reduce(operator.add,l,‘‘)
#将字符串逐行或逐词反转
s=‘abcde‘
print s[::-1]
s=s.split()
s.reverse()
print ‘‘.join(s)
#或者
s=‘abcde‘
print ‘‘.join(s.split()[::-1])
#也可以通过正则
import re
print u‘正则‘
s=re.split(r‘(\s+)‘,s)
s.reverse()
print ‘‘.join(s)
s=‘abcde‘
#更高级
print ‘ ‘.join(re.split(r"(\s+)",s)[::-1])
#更简洁
print ‘‘.join(reversed(s))
 
#检查字符串中是否包含某字符集合中的字符
def string1(aseq,aset):
for c in aseq:
if c in aset:
return True
return False

#更高级的方式
import itertools
def string1(aseq,aset):
for c in itertools.ifilter(aset.__contains__,aseq)
return True
return False

#如果是集合
def string1(aseq,aset):
return bool(set(aset).intersection(aseq))

#
itertools.ifilter()要求传入一个断定(断言,谓词)和一个可迭代对象,然后进行筛选
ifilter()如果找到比如列表的子项,同时也是anyset成员,就会返回True
在2.4中或者2.3中通过setSet方法,如下

def string1(aseq,aset):
return not set(aset).difference(aseq)
#如果不习惯set.difference()语义时,通过下面的例子来解释:
a=[1,2,3,4]
b=[1,2,3,4]
print set(a).difference(b)
print set(b).difference(a)
print string1(a,b)
print string1(b,a)




























python cookbook第2版第1章

标签:

原文地址:http://www.cnblogs.com/mhxy13867806343/p/4595966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!