首頁 > 後端開發 > 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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板