为什么我得到'list'对象没有属性'items'?

Jan*_*and 4 python python-2.7

使用Python 2.7,我有这个列表:

qs = [{u'a': 15L, u'b': 9L, u'a': 16L}]
Run Code Online (Sandbox Code Playgroud)

我想从中提取价值.

即 [15, 9, 16]

所以我尝试过:

result_list = [int(v) for k,v in qs.items()]
Run Code Online (Sandbox Code Playgroud)

但相反,我得到这个错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'items'
Run Code Online (Sandbox Code Playgroud)

我想知道为什么会发生这种情况以及如何解决这个问题?

小智 12

result_list = [int(v) for k,v in qs[0].items()]
Run Code Online (Sandbox Code Playgroud)

qs是一个列表,qs [0]是你想要的词典!

  • 字典只包含2个条目,因为每个条目必须有一个唯一的密钥,并且"a"被使用了两次.`'a':15`不在字典中.此外,项目的顺序不一定与添加顺序相同. (2认同)

ozg*_*gur 5

如果qs有多个字典,则更通用的方法:

[int(v) for lst in qs for k, v in lst.items()]
Run Code Online (Sandbox Code Playgroud)

——

>>> qs = [{u'a': 15L, u'b': 9L, u'a': 16L}, {u'a': 20, u'b': 35}]
>>> result_list = [int(v) for lst in qs for k, v in lst.items()]
>>> result_list
[16, 9, 20, 35]
Run Code Online (Sandbox Code Playgroud)