我正在编码像这样的东西:
tmp1=tmp[tmp.keys()[0]]
哪里: tmp={'Freud':{3,6,9},'Sigmund':{6}} # a dictionary
这段代码在Python版本中可完美运行。2.7,但如果我在ver中运行相同的版本。3.4我收到TypeError:无法散列的类型:'dict_keys'为什么会出现?我该如何修复它。3.4?
更换:
tmp1=tmp[tmp.keys()[0]]
Run Code Online (Sandbox Code Playgroud)
带有:
tmp1=tmp[list(tmp.keys())[0]]
Run Code Online (Sandbox Code Playgroud)
与python2相反,在python3中,它keys返回一个可迭代的类似于集合的视图对象,而不是列表。例如:
>>> tmp.keys()[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'dict_keys' object does not support indexing
Run Code Online (Sandbox Code Playgroud)
但:
>>> list(tmp.keys())[0]
'Freud'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6992 次 |
| 最近记录: |