这是我的代码:
{names[i]:d.values()[i] for i in range(len(names))}
使用Python2.7.3时,这完全可以正常工作;然而,当我使用Python3.2.3时,我得到一个错误,声明为'dict_values' object does not support indexing
.如何修改代码以使其与3.2.3兼容?
这是我的代码:
{names[i]:d.values()[i] for i in range(len(names))}
使用Python2.7.3时,这完全可以正常工作;然而,当我使用Python3.2.3时,我得到一个错误,声明为'dict_values' object does not support indexing
.如何修改代码以使其与3.2.3兼容?
在Python 3中,dict.values()
(以及dict.keys()
和dict.items()
)返回view
,而不是列表.参见文档here.因此,您需要将拨打dict.values()
的电话换成拨打list
的电话,如下所示:
v = list(d.values())
{names[i]:v[i] for i in range(len(names))}