《Python CookBook2》 第一章 文本 - 检查字符串中是否包含某字符集合中的字符 && 简化字符串的translate方法的使用

检查字符串中是否包含某字符集合中的字符


 任务:

  检查字符串中是否出现了某个字符集合中的字符

 

解决方案:

方案一:

import itertools

def containAny(seq,aset):
    for item in itertools.ifilter(aset.__contains__,seq):
        return True
    return False


if __name__ == "__main__":
    l1 = list('python')
    l2 = set('x')
    print containAny(l1,l2)   

 

方案二:

l1 = list('python')
l2 = set('df')
def containAny(seq,aset):
    for a in seq:
        if a in aset: return True
    return False
print containAny(l1,l2)

 

 

简化字符串的translate方法的使用


任务:

  用字符串的translate方法来进行快速编码,将string.maketrans函数简单封装。

 

解决方案: 

 

import string
def translator(frm = '',to = '',delete = '' ,keep = None):
    if len(to) == 1:
        to = to*len(frm)
    trans = string.maketrans(frm, to)
    if keep is not None:
        allchars = string.maketrans('','')
        delete = allchars.translate(allchars,keep.translate(allchars,delete))
    def translate(s):
        return s.translate(trans,delete)
    return translate

 

  

posted @ 2014-08-26 15:22  道生一_三生万物  阅读(378)  评论(0编辑  收藏  举报
returnTop $(function(){ $('#returnTop').click(function () { $('html,body').animate({ scrollTop: '0px' }, 800); returnfalse; }); });