簡體   English   中英

如何將布爾數組轉換為字符串表示形式?

[英]How to convert an array of Booleans to a string representation?

想像這樣轉換布爾的imagehash數組:

array([[False, False, False,  True, False, False,  True,  True],
       [False, False, False,  True,  True,  True,  True,  True],
       [False,  False, False,  True,  True,  True,  True,  True],
       [False,  True,  True,  True,  True,  True,  True,  True],
       [False,  True,  True,  True,  True,  True, False, False],
       [False,  True,  True,  True,  True,  True,  True, False],
       [False, False,  True, False, False, False,  True, False],
       [False, False, False, False, False, False,  True,  True]]))

使用Python 2.7 94b1b9fcfcfcf0f0為類似94b1b9fcfcfcf0f0的字符串表示94b1b9fcfcfcf0f0 ,反之亦然。

我該如何實現?

下面的代碼將您的布爾值轉換為0/1並從這些數字中獲取十六進制值(8個二進制數字最多提供2個十六進制字符(從00到ff) zfill用於填充小於零的左零。 128. [2:]去除十六進制表示形式( 0x )。

hexstring = "".join([str(hex(int("{}".format("".join(["1" if elem else "0" for elem in line])), 2)))[2:].zfill(2) for line in array])
print(hexstring)

PS此解決方案僅意味着純Python- array變量包含一個列表列表:

array = [
    [False, False, False, True, False, False, True, True],
    [False, False, False, True, True, True, True, True],
    [False, False, False, True, True, True, True, True],
    [False, True, True, True, True, True, True, True],
    [False, True, True, True, True, True, False, False],
    [False, True, True, True, True, True, True, False],
    [False, False, True, False, False, False, True, False],
    [False, False, False, False, False, False, True, True],
]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM