假设我们有一个这样的字典列表:
l = [{'a': 1, 'b': 2}, {'a': 3, 'b': 4}, {'a': 5, 'b': 6}]
我想将每个 a-key 的值加一。使用这样的循环很容易实现:
for dictionary in l:
dictionary['a'] += 1
但是也可以通过 map 和 lambda 的组合来做到这一点吗?它必须是这样的:
l = map(lambda x: x+1, l)
但我不知道如何在 lambda 中指定 a 键。
lambda x['a']
不起作用。有什么建议么?提前致谢!
最佳答案
l = [{'a': 1, 'b': 2}, {'a': 3, 'b': 4}, {'a': 5, 'b': 6}]
l = map(lambda x: {'a':x['a']+1,'b':x['b']}, l)
print l #in python 3 you need convert map to list list(l)
>>>[{'a': 2, 'b': 2}, {'a': 4, 'b': 4}, {'a': 6, 'b': 6}]
关于python - 使用 map 和 lambda 增加字典列表中的元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33479861/