亲宝软件园·资讯

展开

python内置函数ord()ASCII数值

m0_46483236 人气:0

常用 ASCII 码表对照表:

注意如下几点:

0-9:48-57A-Z:65-90a-z:97-122

ord()函数介绍:

 ord() 函数是 chr() 函数(对于 8 位的 ASCII 字符串)的配对函数,它以一个字符串(Unicode 字符)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值。

>>> ord('0')
48
 
>>> ord('A')
65
 
>>> ord('a')
97

 应用实例:

ord()函数的一个应用场景就是,利用哈希表解决字母异位词问题。

利用ord()函数求解每个字母的ASCII数值,再利用每个字母和字母a之间的差值,将26个小写英文字母映射到下标分别为0-25的数组上,数组中存放的是每个字母的数目。

例如:

class Solution(object):
    def findAnagrams(self, s, p):
        """
        :type s: str
        :type p: str
        :rtype: List[int]
        """
        result = []
        record_s = [0]*26
        record_p = [0]*26
        if len(s) < len(p):
            return result
        for i in range(len(p)):
            record_s[ord(s[i])-ord('a')] += 1
            record_p[ord(p[i])-ord('a')] += 1
        if record_s == record_p:
            result.append(0)
        for i in range(len(s)-len(p)):
            record_s[ord(s[i])-ord('a')] -= 1
            record_s[ord(s[i+len(p)])-ord('a')] += 1
            if record_s == record_p:
                result.append(i+1)
        return result

加载全部内容

相关教程
猜你喜欢
用户评论