使用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]是你想要的词典!
如果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)