我有一个dict列表,例如,
[{'id': 1L, 'name': u'Library'}, {'id': 2L, 'name': u'Arts'}, {'id': 3L, 'name': u'Sports'}]
Run Code Online (Sandbox Code Playgroud)
现在,我必须从这个字典中检索以下列表而不使用列表理解
[u'Library', u'Arts', u'Sports']
Run Code Online (Sandbox Code Playgroud)
有没有办法在python中实现这一点?我看到了许多类似的问题,但所有的答案都是使用列表理解.
任何建议表示赞赏.提前致谢.
Ble*_*der 10
你可以使用itemgetter:
from operator import itemgetter
categories = map(itemgetter('name'), things)
Run Code Online (Sandbox Code Playgroud)
但列表理解也很好.列表推导有什么问题?
你可以map()在这里使用.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']
Run Code Online (Sandbox Code Playgroud)