tok*_*ama 42 python dictionary python-3.x python-3.2
我正在尝试使用.keys()
而不是像往常一样获得密钥列表.但是我明白了.
b = { 'video':0, 'music':23 }
k = b.keys()
print( k[0] )
>>>TypeError: 'dict_keys' object does not support indexing
print( k )
dict_keys(['music', 'video'])
Run Code Online (Sandbox Code Playgroud)
它应该只打印['音乐','视频'],除非我疯了.
这是怎么回事?
Fre*_*Foo 91
Python 3改变了dict.keys
这样的行为,它现在返回一个dict_keys
对象,它是可迭代但不可索引的(它就像旧的dict.iterkeys
,现在已经消失了).您可以通过显式调用来获取Python 2结果list
:
>>> b = { 'video':0, 'music':23 }
>>> k = list(b.keys())
>>> k
['music', 'video']
Run Code Online (Sandbox Code Playgroud)
要不就
>>> list(b)
['music', 'video']
Run Code Online (Sandbox Code Playgroud)
如果您这样分配k
:
k = list(b.keys())
Run Code Online (Sandbox Code Playgroud)
你的代码会起作用.
如错误所示,该dict_keys
类型不支持索引.
归档时间: |
|
查看次数: |
88660 次 |
最近记录: |