这可能是愚蠢的。 因此,我有这本字典,其中包括一些键。 当我打印按键(作为列表)时,
keys = list(dict.keys())
print(keys)
我得到输出:
[b'batch_label', b'labels', b'data', b'filenames']
到目前为止,一切都很好。但是,当我尝试访问其中之一时,
return dict['labels']
我收到一个关键错误(“标签”)。这是为什么? 感谢您浪费时间在菜鸟问题上:)
答案 0 :(得分:3)
您的键不是字符串,而是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']