我有一个字典列表:
mylist = [{1: 0.0, 2: 1.0, 3: 2.0},
{1: 0.0, 2: 2.3, 3: 1.5},
{1: 0.6, 2: 1.0, 3: 1.0}]
表格列表:
arr = [[1, 0, 0, 1],
[1, 0, 2, 1],
[1.0, 1.1, 3.5, 2.0]]
arr
的长度与mylist
的长度相同。
如何将arr
的每个元素添加到mylist
中的相应索引元素中,以便在插入后mylist
具有以下形式:
mylist = [{1: 0.0, 2 : 1.0, 3: 2.0, 4: 1, 5: 0, 6: 0, 7: 1},
{1:0.0, 2: 2.3, 3:1.5, 4: 1, 5: 0, 6: 2, 7: 1},
{1: 0.6, 2: 1.0, 3: 1.0, 4: 1.0, 5: 1.1, 6: 3.5, 7: 2.0}]
答案 0 :(得分:2)
enumerate
arr
的每个子列表,从4
开始,每个字典update
。
您可以将相关字典与相关列表相关联,方法是将它们与zip
压缩:
for d, extra in zip(mylist, arr):
d.update(enumerate(extra, start=4))
enumerate
通常从0
开始计算:
>>> list(enumerate([1, 0, 0, 1]))
[(0, 1), (1, 0), (2, 0), (3, 1)]
您希望它从4
计算:
>>> list(enumerate([1, 0, 0, 1], start=4))
[(4, 1), (5, 0), (6, 0), (7, 1)]