[英]pythonic way of reassigning values to dictionary
我有一本以列表為值的字典:
my_dict = {1: [2,3], 2: [4, 5], 3: [6, 7]}
我想更新字典以將值更新為舊列表值的總和:
my_dict = {1: 5, 2: 9, 3: 13}
最有效/最有效的方法是什么? 我通常要做的是:
for key in my_dict:
my_dict[key] = sum(my_dict[key])
有更好的方法嗎?
您可以使用字典理解:
my_dict = {1: [2,3], 2: [4, 5], 3: [6, 7]}
new_d = {a:sum(b) for a, b in my_dict.items()}
輸出:
{1: 5, 2: 9, 3: 13}
您可以使用reduce
代替sum
:
from functools import reduce
my_dict = {1: [2,3], 2: [4, 5], 3: [6, 7]}
final = {k: reduce(lambda x,y: x+y, v) for k,v in my_dict.items()}
輸出:
{1: 5, 2: 9, 3: 13}
否則,您可以參考此線程以獲取更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.