基本上,我已将字典变成列表。现在,我想通过索引获取列表的第一,第二,第三和第四值。我不知道我在哪里犯了一个错误,但这不会让我索引。
我尝试过
newcouples3 = remaining1.keys()
newcouple3 = newcouples3[2]
但是我得到一个错误。
{'Couple3': 9, 'Couple4': 12, 'Couple5': 15, 'Couple6': 18}
newcouples3 = remaining1.keys()
newcouple3 = newcouples3[2]
我想获得该列表中的第一,第二,第三和第四把钥匙。
我收到此错误:
newcouple3 = newcouples3[2]
TypeError: 'dict_keys' object does not support indexing
答案 0 :(得分:3)
这是因为索引适用于list
类型,并且.keys()
返回了一个不支持索引的dict_keys
对象。
您可以执行以下操作:
>>> some_dict = {'a': 'foo', 'b': 'bar'}
>>> type(some_dict.keys())
<class 'dict_keys'>
>>> list(some_dict.keys())[0]
'a'
>>>
答案 1 :(得分:1)
呼叫dict.keys()
returns a view object。您需要先将其转换为列表。
newcouples3 = list(remaining1.keys())
答案 2 :(得分:0)
您可以尝试如下操作:
myDict = {'Couple3': 9, 'Couple4': 12, 'Couple5': 15, 'Couple6': 18}
print(myDict)
myDictKeys = [ k for k in myDict ]
print(myDictKeys)
print(myDictKeys[1])
myDictValues = [ v for v in myDict.values() ]
print(myDictValues)
print(myDictValues[1])
输出:
{'Couple3': 9, 'Couple4': 12, 'Couple5': 15, 'Couple6': 18}
['Couple3', 'Couple4', 'Couple5', 'Couple6']
Couple4
[9, 12, 15, 18]
12