Skip to main content
 首页 » 编程设计

python之用于更新字典列表中的值的一行之Python

2025年05月04日13EasonJim

我有一个这样的字典列表:

l = [{"integer":"1"},{"integer":"2"},{"integer":"3"},{"integer":"4"}] 

我想做类似于以下的事情,以便作为“整数”键的值对的每个数字都作为整数返回:

l = [{"integer":"1"},{"integer":"2"},{"integer":"3"},{"integer":"4"}] 
r = map(lambda x: x["integer"]=int(x["integer"]), l) 
print r  
#[{"integer":1},{"integer":2},{"integer":3},{"integer":4}] 

但这会导致错误:

SyntaxError: lambda cannot contain assignment

有人知道在 python 中执行此操作的干净方法吗?最好是使用 map 或类似工具的 oneliner?

请您参考如下方法:

使用列表推导式理解

您将遍历列表中的字典并将它们作为 x 返回,然后插入一个新字典,其中包含您想要的键和新列表中返回的整数值

r = [{'integer': int(x['integer'])} for x in l]