使用lambda和map从字典列表中删除键/值

19 投票
1 回答
22520 浏览
提问于 2025-04-15 16:51

我有一个字典列表,这些字典里面的键都是一样的,比如:

[{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']

撰写回答