标签:
第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)
标签:
原文地址:http://www.cnblogs.com/mhxy13867806343/p/4595966.html