给定一个list代表基数的数字的位数的整数的b,我怎么转换这个list到int任何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)
有没有更好的方法?