我有一个值列表和一本字典。它们看起来像这样:
d = {1 : {1 : '', 2 : '', 3 : ''},2 : {1 : '', 2 : '', 3 : ''}}
l = ['Erich Martin', 'Zia Michael', 'Olga Williams', 'Uma Gates']
我正在尝试将列表中的值映射到字典中,在进入下一个嵌套字典之前填充每个字典。最后一本字典会有一些空槽,这很好。我似乎不知道我需要做什么;我跑到列表的末尾,得到了一个keyerror,因为没有更多的值了。以下是我目前掌握的要点:
for g,s in d.items():
for i in s:
s[i] = l.pop()
使用python3.4。你知道吗
谢谢!你知道吗
试试这个:
根据ikaros45的评论编辑
这将产生:
您在迭代字典时正在修改它。先解决这个问题:
当列表为空时,您还需要停止:
我假设您想将名称放入dict值中,替换空字符串。在这种情况下,我会把你最初的字典扔掉,这样做:
或者更优雅
这两种解决方案都适用于任何输入列表,没有对长度的限制,就像对现有dict进行变异一样
相关问题 更多 >
编程相关推荐