现在的位置: 首页 > 综合 > 正文

python 字符串处理

2014年01月26日 ⁄ 综合 ⁄ 共 859字 ⁄ 字号 评论关闭

python在处理字符串的时候有很多快捷的方式:

比如我们在比较两个长度相同的字符串时,我们可以有多种算法,比如把一个字符串拆成一个列表(或者一个单词);

> a='asdfasdfasdfasdf'
>>> list(a)
['a', 's', 'd', 'f', 'a', 's', 'd', 'f', 'a', 's', 'd', 'f', 'a', 's', 'd', 'f']
>>> list(a)
['a', 's', 'd', 'f', 'a', 's', 'd', 'f', 'a', 's', 'd', 'f', 'a', 's', 'd', 'f']
>>> 

然后比较两个列表是否是相互属于对方,

第二中方法是:将这些字符串按照字母表顺序排列,比较两个单词是否相同!

这个是acm的一道题:做的有问题,先发上来以后再改:

import string
def shuru():
    c=1
    a=[]
    i=0
    while(c):

        f=raw_input()
        if f=='XXXX':
            c=0
        else:
            a.append(f)
            print a
    return a

def shuchu():
    b=[]
    c=1
    while(c):
        g=raw_input()
        if g=='XXXX':
            c=0
        else:
            b.append(g)
            print b
    return b

def bijiao(a,b):
    m=1
    aa=0
    bb=0
    aaa=len(a)-1
    bbb=len(b)-1
    while(m):
        u=False
        for i in range(0,len(b)):
            aa=aa+1
            if u==False and i>=1:


                print 'NOT A VALID WORD'
                print '******'
            
            for j in range(0,len(a)-1):
                bb=bb+1
                f=list(a[j])
                g=list(b[i])
                c=len(f)
                d=len(g)
                if c==d:
                    if set(g).issubset(set(f)) :
                        print b[i]
                        print '******'
                        u=True
        if aa==len(b):
            m=0

if __name__=='__main__':
    a=shuru()
    b=shuchu()
    bijiao(a,b)


抱歉!评论已关闭.