从Python的字典列表中获取值

sample_dict = [{'id':123, 'name':'ABC', 'loc':'XYZ'}, {'id':456, 'name':'DEF', 'loc':'ZYX'}, {'id':789, 'name':'GHI', 'loc':'YZX'}]

我想从字典的给定列表中选择键的值(id和name)。

我想要类似的结果

result = ({'id': [123, 456, 789]}, {'name': ['ABC', 'DEF', 'GHI']})

除了下面列出的以外,还有其他实现吗?我想以更高的内存效率和更少的时间实现这一目标,因为我要解压缩数百万个数据。我们可以使用operator.itemgetter或itertools来实现吗?这将提高内存效率,并消耗更少的时间

使用Dict和List Comp

{'id':[i.get('id') for i in sample_dict]}

{'name':[i.get('name') for i in sample_dict]}

使用地图

{'id': list(map(lambda x: x.get('id'), sample_dict))}

{'name': list(map(lambda x: x.get('name'), sample_dict))}
评论