一、说明
在使用python的dict和索引时,在早期的python可以,但后来不可以了。因此,在python执行语句:
{names[i]:d.values()[i] for i in range(len(names))}
会出现错误提示:
Get: TypeError: 'dict_values' object does not support indexing when using python 3.2.3
二、错误原因
在 Python 3 中,dict.values()(连同 dict.keys() 和 dict.items())返回一个视图,而不是一个列表。请参阅此处的文档Built-in Types — Python 3.11.3 documentation。
三、错误改出
将 { names[i]:d.values()[i] for i in range(len(names)) } 进行如下改变:
您需要将对 dict.values() 的调用包装在对 list 的调用中,如下所示:
v = list(d.values())
{names[i]:v[i] for i in range(len(names))}
这样才能正常工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)