这可能是一个愚蠢的问题。所以,我有这本字典,里面有几个键。当我打印密钥(作为列表)时,
keys = list(dict.keys())
print(keys)
我得到了输出:
[b'batch_label', b'labels', b'data', b'filenames']
到目前一切尚好。但是,当我试图访问其中的一个时,
return dict['labels']
我得到一个键错误('labels')。为什么会这样呢?
发布于 2018-07-11 08:19:56
您的键不是字符串,而是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']
https://stackoverflow.com/questions/51275516
复制相似问题