使用lambda和map从字典列表中删除键/值
我有一个字典列表,这些字典里面的键都是一样的,比如:
[{k1:'foo', k2:'bar', k3...k4....}, {k1:'foo2', k2:'bar2', k3...k4....}, ....]
我想从这个列表里的所有字典中删除键k1。
我试过这样做:
map(lambda x: del x['k1'], list)
但是这样做让我遇到了语法错误。我哪里出错了呢?
1 个回答
42
lambda 的主体只能是表达式,而不是像 del
这样的语句。
如果你必须使用 map 和 lambda,那就:
map(lambda d: d.pop('k1'), list_of_d)
使用 for 循环可能会更清晰:
for d in list_of_d:
del d['k1']