组合列表和字典中的列表

时间:2019-03-09 21:22:36

标签: python dictionary

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

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]}

执行此操作的好方法是什么?

1 个答案:

答案 0 :(得分:1)

这是一种方法。

由于您的问题不清楚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的帮助下在L_iter上进行迭代,该迭代器每次都可以获取下一个L