Как разбить двоичную строку? - PullRequest
1 голос
/ 25 апреля 2020

Я хочу реализовать функцию в python, которая разбивает двоичную строку следующим образом: input: [00, 01, 10, 11] output: [[0, 0], [0, 1], [1, 0], [1, 1]] для любого количества битов ОС во входном массиве.

Я пробовал следующим образом:

    split_bin = []
    setnum = []
    for i in range(0, len(num_bin)):
        for k in range(0, n):
            setnum.append(split_bin[i] & 1<<k)

    return setnum

1 Ответ

0 голосов
/ 25 апреля 2020

Функция, которую вы указали в комментариях:

def dec_to_bin(num, n): 
    num_bin = bin(num)[2:].zfill(n) 
    return num_bin

возвращает строку, не двоичную, но это нормально; мы все еще можем разделить его, как вы хотите.

input = ['00', '01', '10', '11']
output = []

for number in input:
    output.append([bit for bit in number])

print(output)
# [['0', '0'], ['0', '1'], ['1', '0'], ['1', '1']]
...