如何索引我已变成列表的字典

时间:2019-04-21 19:40:59

标签: python

基本上,我已将字典变成列表。现在,我想通过索引获取列表的第一,第二,第三和第四值。我不知道我在哪里犯了一个错误,但这不会让我索引。

我尝试过

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

3 个答案:

答案 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