LeetCode刷题之171Python Excel表列序号

本文介绍了一种算法,该算法将Excel表格中的列名称转换为其对应的列序号。例如,A->1, AB->28等。通过示例说明了如何实现这一转换,并提供了一个Python函数来实现这一功能。

题目:

给定一个Excel表格中的列名称,返回其相应的列序号。

例如,

    A -> 1
    B -> 2
    C -> 3
    ...
    Z -> 26
    AA -> 27
    AB -> 28 
    ...

示例 1:

输入: "A"
输出: 1

示例 2:

输入: "AB"
输出: 28

示例 3:

输入: "ZY"
输出: 701

参考解答:

与第168题是反过来的。

https://www.cnblogs.com/everfight/p/leetcode_.html

class Solution(object):
    def titleToNumber(self, s):
        """
        :type s: str
        :rtype: int
        
        """
        result = 0 
        for letter in s:
            result = result * 26 + ord(letter) - ord('A') + 1#转换之后把大写字母对应的数字转化为小写字母。
        return result

ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值