numpy.unique将NULL字符更改为空字符

时间:2019-09-18 08:43:03

标签: python numpy

编辑: 我用字节而不是字符来表述这个问题。我正在对密文进行频率分析。


当我在字节列表上使用numpy.unique()时,NULL字节b'\x00'最终为空字符b''

以下最小示例

import numpy as np

byte_list = [b'\x00', b'1']
freq = {byte: count for (byte, count) in zip(*np.unique(byte_list, return_counts=True))}
freq

返回

{b'': 1, b'1': 1}

我希望

{b'\x00': 1, b'1': 1}

那是为什么?

Python版本3.7.4
numpy版本1.17.2

1 个答案:

答案 0 :(得分:1)

如果这是您的预期输出:

{b'0': 2, b'1': 1, b'\\': 1, b'x': 1}

您忘记了(\)变量中转义下一个字符的反斜杠bs。在这种情况下,bs将是:

bs = b'\\x001'
相关问题