首页 > 解决方案 > (Python)字典不识别键

问题描述

这可能是一个愚蠢的问题。所以,我有这本字典,其中包括几个键。当我打印键(作为列表)时,

keys = list(dict.keys())
print(keys)

我得到输出:

[b'batch_label', b'labels', b'data', b'filenames']

到目前为止,一切都很好。但是,当我尝试访问其中之一时,

return dict['labels']

我收到一个关键错误(“标签”)。这是为什么?

标签: pythondictionary

解决方案


您的键不是字符串,而是bytes对象。因此,您应该将它们作为字节访问

x[b'label']

请注意

>>> b'label' is'label'
False
>>> b'label' == 'label'
False

如果您不想以这种方式访问​​,您可以通过指定编码类型将它们解码为字符串。例如,

new_dict = {k.decode('utf-8'): v for k,v in x.items()}

现在你可以做

new_dict['label']

推荐阅读