我对复杂的dict的正确迭代有一些问题。 字典是:
links = {1: (2, 3, 4, 5, 6, 7, 8, 9, 10)}
迭代代码是:
link_params = []
for nodea, nodeb in links.iteritems():
link = {}
for i in nodeb:
link.update({
"selementid1": nodea,
"selementid2": i,
})
link_params.append(link)
我得到:
[{'selementid1': 1, 'selementid2': 10},
{'selementid1': 1, 'selementid2': 10},
{'selementid1': 1, 'selementid2': 10},
{'selementid1': 1, 'selementid2': 10},
{'selementid1': 1, 'selementid2': 10},
{'selementid1': 1, 'selementid2': 10},
{'selementid1': 1, 'selementid2': 10},
{'selementid1': 1, 'selementid2': 10},
{'selementid1': 1, 'selementid2': 10}]
但我想得到:
[{'selementid1': 1, 'selementid2': 2},
{'selementid1': 1, 'selementid2': 3},
{'selementid1': 1, 'selementid2': 4}, etc.]
我做错了什么?你知道吗
您希望输出一个dict列表吗?如果是的话
或者
使用列表理解
所以,看起来您在内部for循环之外声明了一个字典。你知道吗
您正在使用每个内部for循环运行对其进行变异。你知道吗
此外,您将它附加到link_params的次数与内部for循环运行的次数相同。你知道吗
你真的需要这样的东西:
相关问题 更多 >
编程相关推荐