如何索引一本我已经变成lis的词典

2024-09-29 01:33:26 发布

您现在位置: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

Tags: 列表字典object错误keysdict单子typeerror
3条回答

正在调用dict.keys()returns a view object。你需要先把它变成一个列表

newcouples3 = list(remaining1.keys())

这是因为索引工作在list类型上,.keys()返回一个不支持索引的dict_keys对象

您可以执行以下操作:

>>> some_dict = {'a': 'foo', 'b': 'bar'}
>>> type(some_dict.keys())
<class 'dict_keys'>
>>> list(some_dict.keys())[0]
'a'
>>>

您可以尝试以下方法:

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

相关问题 更多 >