要列印特定基數中的數字陣列,我使用了以下內容:
print( str(
[ '{:02x}'.format(array[i])
for i in range(0, len(array))
]
).replace("'", "") ) )
它將數字陣列轉換為基數中數字的字串表示形式陣列(在本例中為 2 位十六進制值),然后將該陣列轉換為字串并洗掉單引號。
我想我也可以制作一個以這種方式或其他方式生成輸出的函式。也許像:
def numbers_as_base(array, base, digits, leading_zeros):
s = '['
if len(array) > 0:
fmt = f'{{:{0 if leading_zeros else ""}{digits}{base}}}'
for i in range(0, len(array)-1):
s = fmt.format(array[i]) ', '
s = fmt.format(array[-1])
return s ']'
我只是想知道,語言/標準庫中是否有一些已經可用的東西可以為我做這件事?另外,有沒有更有效的方法來做到這一點?
uj5u.com熱心網友回復:
您需要的主要內容是.join:
array = [31, 14, 41, 15, 59]
print("[" ", ".join([
'{:02x}'.format(x)
for x in array])
"]")
輸出:
[1f, 0e, 29, 0f, 3b]
[]在這種情況下,您還可以從串列推導中省略,創建一個生成器運算式:
print("[" ", ".join(
'{:02x}'.format(x)
for x in array)
"]")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/369773.html
下一篇:這個陣列是否有不可呼叫的原因?
