首页 > 解决方案 > 在字典中组合列表和列表

问题描述

我有一本字典,其中每个值都是变量列表(所有变量都是浮点数):

d = {1:[a,b,c], 2:[d,e,f], 3:[g,h,i]}

和一个列表,其元素数量与字典组合列表中的元素数量相同:

L = [1,2,3,4,5,6,7,8,9]

我想将列表合并到字典中,例如:

d = {1:[a+1,b+2,c+3], 2:[d+4,e+5,f+6], 3:[g+7,h+8,i+9]}

有什么好方法可以做到这一点?

标签: pythondictionary

解决方案


这是一种方法。

由于您的问题不清楚您第一次提出问题时应该是什么ab等等,因此为了简单起见,我使用了字符串。它适用于浮点数。

d = {1:['a', 'b', 'c'], 2:['d', 'e', 'f'], 3:['g', 'h', 'i']}

L = ['1', '2', '3', '4', '5', '6', '7', '8', '9']

L_iter = iter(L)

new_d = {key: [val + next(L_iter) for val in sublist] for key, sublist in d.items()}

print(new_d)
# {1: ['a1', 'b2', 'c3'], 2: ['d4', 'e5', 'f6'], 3: ['g7', 'h8', 'i9']}

我们使用字典理解创建新字典。在其中,我们使用列表推导创建新的子列表,L在 iterator 的帮助下进行迭代,它允许每次L_iter获取下一项。L


推荐阅读