把字符串 “123” 转换成 123,不使用内置api【面试题详解】

今天爱分享给大家带来把字符串 “123” 转换成 123,不使用内置api【面试题详解】,希望能够帮助到大家。
方法一: 利用 str 函数



def atoi(s):
    num = 0
    for v in s:
        for j in range(10):
            if v == str(j):
                num = num * 10 + j
    return num

方法二: 利用 ord 函数



def atoi(s):
    num = 0
    for v in s:
        num = num * 10 + ord(v) - ord('0')
    return num

方法三: 利用 eval 函数


def atoi(s):
    num = 0
    for v in s:
        t = "%s * 1" % v
        n = eval(t)
        num = num * 10 + n
    return num


方法四: 结合方法二,使用 reduce,一行解决



from functools import reduce
def atoi(s):
    return reduce(lambda num, v: num * 10 + ord(v) - ord('0'), s, 0)

人已赞赏
Python

什么是LEGB?【面试题详解】

2020-12-23 11:21:31

Python

返回该文件夹中所有文件的路径【面试题详解】

2020-12-23 11:28:43

'); })();