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

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

Linda Hamilton
发布: 2024-12-05 06:10:18
原创
356 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板