次のような文字列のリストがあります。
sixbit = ['000011', '000001', '010100', '100001']
このリストを反復処理して、次のような新しいリストを生成したいと思います。
eightbit = ['00001100', '00010101', '00100001']
説明のために、len(6 ビット) は 4 に等しくなります。これは、8 ビットにうまく変換されるためです。理想的には、sixbit は任意の長さにすることができます。eightbit が残りの 1 または 0 を「切り取る」場合は問題ありません。
これが私が試したコードです...悲しいことに、それはかなり外れていますが、私がやろうとしていることを見ることができるかもしれません. アイデアは、1) すべての数字を 1 つの大きな文字列に入れる 2) 各数字をループしてカウントを保持し、繰り返しながらホルダーに数字を収集する 3) カウント = 8 の場合、リストに追加する 4) 繰り返しを続ける
def compress_six_bit(ary):
final_list = []
holder = ''
temp_string = ''
encode_counter = 0
for i in ary:
holder = holder + i
while encode_counter < 8:
encode_counter = encode_counter + 1
temp_string = temp_string + i
final_list.append(temp_string)
encode_counter = 0
temp_string = ''
return final_list