[英]How to combine 2 lists into a dictionary, where keys can have multiple values?
[英]How can I combine multiple lists of separated bit values into strings?
我有一個包含 32 個單獨位的列表列表。 我想將這些值分成 4 個二進制數字字符串,每個字符串代表一個字節。
我的數據看起來像:
array = [[1, 0, 0, 0, 1, 0, 1, 0],
[0, 1, 1, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 1, 1, 1, 0, 1, 1]]
結果應該滿足
array[0] == '10001010'
array[1] == '01100000'
array[2] == '00001000'
array[3] == '00111011'
我嘗試過的每個解決方案都會給我留下一個包含逗號的字符串,例如'1,0,0,0,1,0,1,0'
。
獲取每個字節分組並將它們轉換為字符串的最簡單方法是什么?
使用列表推導來迭代項目,並通過將每個項目轉換為字符串來連接每個項目:
>>> array = [[1, 0, 0, 0, 1, 0, 1, 0],
... [0, 1, 1, 0, 0, 0, 0, 0],
... [0, 0, 0, 0, 1, 0, 0, 0],
... [0, 0, 1, 1, 1, 0, 1, 1]]
>>> array = [''.join(str(n) for n in item) for item in array]
>>> array
['10001010', '01100000', '00001000', '00111011']
嘗試這個:
arr1, arr2, arr3, arr4 = [''.join(map(str,elem)) for elem in arr]
print(arr1, arr2, arr3, arr4, sep='\n')
10001010
01100000
00001000
00111011
或沒有元組解包:
arr = ["".join(map(str, elem)) for elem in arr]
print(arr)
['10001010', '01100000', '00001000', '00111011']
然后您可以使用arr[0]
等訪問它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.