zoukankan      html  css  js  c++  java
  • python string.py 源码分析 三:maketrans

    l = map(chr, xrange(256)) #将ascii转为字符串
    _idmap = str('').join(l)
    del l
    
    # Construct a translation string
    _idmapL = None #定义一个全局变量
    def maketrans(fromstr, tostr):
        """maketrans(frm, to) -> string
    
        Return a translation table (a string of 256 bytes long)
        suitable for use in string.translate.  The strings frm and to
        must be of the same length.
    
        """
        if len(fromstr) != len(tostr):
            raise ValueError, "maketrans arguments must have same length"
        global _idmapL
        if not _idmapL:
            _idmapL = list(_idmap) #将ascii 字符串转换为列表
        L = _idmapL[:] #列表对象浅拷贝,目的是为了不影响global , or [x for x in _idmapL] or L = list(_idmapL)  or L = copy.copy(_idmapL)
        fromstr = map(ord, fromstr) #功能与chr相反,即将char转换为对应的数字编码
        for i in range(len(fromstr)):
            L[fromstr[i]] = tostr[i] #替换
        return ''.join(L) #重组
  • 相关阅读:
    day69test
    day70test
    day71test
    ymfx
    day71
    day69
    day70
    day70test
    day65——day69
    c语言解决函数变参数问题 va_list
  • 原文地址:https://www.cnblogs.com/bjdxy/p/3198380.html
Copyright © 2011-2022 走看看