首页 >后端开发 >Python教程 >如何在 Python 中高效地将整数转换为任意基数的字符串?

如何在 Python 中高效地将整数转换为任意基数的字符串?

Linda Hamilton
Linda Hamilton原创
2024-12-05 06:10:18359浏览

How Can I Efficiently Convert Integers to Strings in Any Base in Python?

将整数转换为任意基数的字符串

在 Python 中,int() 函数可以轻松地从具有指定基数的字符串创建整数。然而,将整数转换为字符串的逆操作可能很棘手。我们的目标是开发一个通用解决方案 int2base(num, base),它满足条件:

int(int2base(x, b), b) == x

这是一个处理任意基数的令人惊讶的简单解决方案:

def numberToBase(n, b):
    if n == 0:
        return [0]
    digits = []
    while n:
        digits.append(int(n % b))
        n //= b
    return digits[::-1]

这个函数将数字 n 转换为基数 b 并返回数字列表。要将大数转换为基数 577,例如:

numberToBase(67854 ** 15 - 102, 577)

它将以列表形式为您提供正确的结果:

[4, 473, 131, 96, 431, 285, 524, 486, 28, 23, 16, 82, 292, 538, 149, 25, 41, 483, 100, 517, 131, 28, 0, 435, 197, 264, 455]

为什么此解决方案有效

提供的解决方案表明,有时,当内置函数缺乏所需功能时,需要自定义函数。在这里,int2base() 通过以下方式克服了限制:

  • 处理从 2 到无穷大的任意基数。
  • 返回数字列表而不是字符串,因为不存在内置函数直接基数转换为任意基数。

以上是如何在 Python 中高效地将整数转换为任意基数的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn