如何从包含python中的dict_values的列表中获取列表

时间:2018-05-28 16:19:39

标签: python

我有一个列表,其中包含一组键,如

      {`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标记的名称。请帮帮我

1 个答案:

答案 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()转换。