我有一个列表,其中包含一组键,如
{`namelist = [{'name': 'John'},{'name': 'Tin'},{'name': 'Mony'},
{'name':'Hilber'},{'name': 'Marge'}]`}
我想获得只有
这样名字的列表 {`names =['John','Tin','Mony','Hilber','Marge']`}
我试过
{`names = []
for i in range(len(namelist)):
names.append(namelist[i].values())`}
它提供的输出如
{`[dict_values(['John']),
dict_values(['Tin']),
dict_values(['Mony']),
dict_values(['Hilber']),
dict_values(['Marge'])]
`}
但我只想在列表中没有dict_values标记的名称。请帮帮我
答案 0 :(得分:1)
您可以使用map-reduce中的map
(请在python中查找map-reduce以获取更多详细信息)
namelist = [{'name': 'John'},{'name': 'Tin'},{'name': 'Mony'},
{'name':'Hilber'},{'name': 'Marge'}]
result = map(lambda item: item.get('name'), namelist)
print(list(result))
在简短的地图操作中,您只需将项目集合映射到不同的项目集合中。它需要一个函数和至少一个iterable作为参数。在每次迭代时,都会向函数提供一个必须返回值的项。收集的值是地图类型,可以使用list()转换。