我正在尝试做一个更易于管理的函数,而data_stream = bytes(b ^ flipmask(0.08) for b in bytearray(content))
不是每次在 python 3 下使用位翻转算法调用这条长线来改变位,但我想对其进行一些改进以使其更易于调用flipmask(data)
。我试图在 functools 之后进入该行,但它根本不起作用
def flipmask(p):
return functools.reduce(lambda a, b: (a << 1) | int(random.random() < p), [0]*8)
data_stream = bytes(b ^ flipmask(0.08) for b in bytearray(content))