首頁 >後端開發 >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