在python中从dict列表获取值列表:不使用列表理解

在python中从dict列表获取值列表:不使用列表理解,python,Python,例如,我有一个dict的列表 [{'id': 1L, 'name': u'Library'}, {'id': 2L, 'name': u'Arts'}, {'id': 3L, 'name': u'Sports'}] 现在,我必须在不使用列表理解的情况下从这篇文章中检索以下列表 [u'Library', u'Arts', u'Sports'] 有没有办法用python实现这一点?我看到了许多类似的问题,但所有的答案都使用了列表理解 如有任何建议,我们将不胜感激。提前谢谢。您可以在这里使用ma

例如,我有一个dict的列表

[{'id': 1L, 'name': u'Library'}, {'id': 2L, 'name': u'Arts'}, {'id': 3L, 'name':  u'Sports'}]
现在,我必须在不使用列表理解的情况下从这篇文章中检索以下列表

[u'Library', u'Arts', u'Sports']
有没有办法用python实现这一点?我看到了许多类似的问题,但所有的答案都使用了列表理解

如有任何建议,我们将不胜感激。提前谢谢。

您可以在这里使用
map()
将lambda应用于
testList
的每个项目,并将其作为列表返回

>>> testList = [{'id': 1L, 'name': u'Library'}, {'id': 2L, 'name': u'Arts'}, {'id': 3L, 'name':  u'Sports'}]
>>> map(lambda x: x['name'], testList)
[u'Library', u'Arts', u'Sports']
这里-

ltemp = [] 
for i in dictT:
    ltemp.append(i['name'])
ltemp是必需的列表。dictT是您的词典列表。

您可以使用:


您可以使用
itemgetter

from operator import itemgetter

categories = map(itemgetter('name'), things)

但是列表理解也很好。列表理解有什么问题?

为什么你对列表理解如此恐惧?
from operator import itemgetter

categories = map(itemgetter('name'), things)