python 字符串处理

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)





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值