python 中内置函数ord()返回字符串的ASCII数值

常用 ASCII 码表对照表:

注意如下几点:

  1. 0-9:48-57
  2. A-Z:65-90
  3. a-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

  • 6
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值