【发布时间】:2017-08-13 19:51:19
【问题描述】:
我有一个字典列表。列表中的每个字典都有相同的键但每个都有不同的值,例如:
my_list = [
{key1: 100, key2: 110, key3: 120},
{key1: 200, key2: 210, key3: 220},
{key1: 300, key2: 310, key3: 320}]
我使用以下代码将 key2 替换为新密钥 new_key2:
list(map(lambda x: x.update({"new_key2": x.pop("key2")}), my_list))
代码有效,my_list 已正确更新,但我无法理解以下行为:
my_list = list(map(lambda x: x.update({"new_key2" : x.pop ("key2")}), my_list))
在这种情况下,my_list 返回以下值:
my_list[0] = None
my_list[1] = None
my_list[2] = None
为什么? 'list + map' 函数不应该检索我一个列表吗?
【问题讨论】:
-
你的 lambda 函数没有返回任何值,它只是更新列表
-
您希望您的列表是什么样的?
标签: python list dictionary lambda