Pythonic将对象列表映射到特定字段列表的方法

时间:2016-09-26 10:53:26

标签: python-2.7

假设:

[{'a': '30152', 'b': 'test1', 'c': '10'}, {'a': '30153', 'b': 'test2', 'c': '6'}]

我将在Python中做些什么来获得结果

['test1', 'test2']

在Java 8中,我会执行以下操作:

list.stream().map(Row::getB).collect(Collectors.toList());

1 个答案:

答案 0 :(得分:2)

一种方法是创建一个maping函数,您将在元组/字典列表的每个元素上运行该函数 然后,您可以使用创建的地图功能和词典列表调用功能图。

def mapB(dict): return dict['b']
myDicts = {'a': '30152', 'b': 'test1', 'c': '10'}, {'a': '30153', 'b': 'test2', 'c': '6'}
list = map(mapB,myDicts)

如果你想更动态地创建它,那么你可以使用像这样的一些地图功能。

myDicts = {'a': '30152', 'b': 'test1', 'c': '10'}, {'a': '30153', 'b': 'test2', 'c': '6'}
list = map(lambda x: x['b'], dict)