【发布时间】:2020-04-25 00:22:18
【问题描述】:
我想在 python 中实现一个函数,它可以像这样分割一个 n 二进制字符串: 输入:[00,01,10,11] 输出:[[0, 0], [0, 1], [1, 0], [1, 1]] 对于输入数组中的任意数量的 os 位。
我试过这样:
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
【问题讨论】:
-
输入数组字符串的元素类型是什么?
-
二进制形式的整数
-
[b'101', b'111', b'01', b'11', b'0']是有效输入吗? -
不,所有值的长度必须相同。在这种情况下,输入将是:[b'101', b'111', b'001', b'011, b'000] 但我已经创建了一个函数来进行这种转换。
-
def dec_to_bin(num, n): \n num_bin = bin(num)[2:].zfill(n) \n return num_bin