小编Mar*_*sch的帖子

int的任意基数列表

给定一个list代表基数的数字的位数的整数的b,我怎么转换这个listint任何b最有效?

numlist = [1, 2, 3, 4, 5]

def list2int(numList, b):
    if b == 10: return int(''.join(map(str, numList)))
    else: ?

print list2int(numList, 7)
>>> 3267
Run Code Online (Sandbox Code Playgroud)

我只能想到这种天真的做法,但这种做法非常可怕.

def list2int(numList, b):
    num = 0
    for i, ii in enumerate(numList): num += ii * b**(len(numList) - i - 1)
    return num
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法?

python int list base

4
推荐指数
1
解决办法
187
查看次数

标签 统计

base ×1

int ×1

list ×1

python ×1