(Python)字典无法识别键

(Python)字典无法识别键,python,dictionary,Python,Dictionary,这可能是个愚蠢的问题。 所以,我有这本字典,里面有几把钥匙。 当我打印钥匙(作为列表)时 我得到输出: [b'batch_label', b'labels', b'data', b'filenames'] 到目前为止还不错。但是,当我尝试访问其中一个时 return dict['labels'] 我得到一个键错误(“标签”)。这是为什么?您的键不是字符串,而是字节对象。因此,您应该以字节的形式访问它们 x[b'label'] 注意 >>> b'label' is'labe

这可能是个愚蠢的问题。 所以,我有这本字典,里面有几把钥匙。 当我打印钥匙(作为列表)时

我得到输出:

[b'batch_label', b'labels', b'data', b'filenames']
到目前为止还不错。但是,当我尝试访问其中一个时

return dict['labels']

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

您的键不是字符串,而是
字节
对象。因此,您应该以字节的形式访问它们

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']

键不是字符串,而是
字节
对象。因此,您应该以字节的形式访问它们

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']