【发布时间】:2014-08-02 15:31:29
【问题描述】:
我正在尝试使用其他嵌套的字典列表创建一个字典列表。以下是列表完成后的样子...
[{'key':'value'},{'key':[{'key':'value'},{'key':'value'},]},]
这是我正在使用的代码:
dict1={}
list1=[]
dict2={}
list2=[]
for obj1 in some_list:
dict1['key'] = value
for obj2 in some_other_list:
dict2['key'] = value
dict2['key'] = value
dict2['key'] = value
dict2['key'] = value
dict2['key'] = value
list2.append(dict2.copy())
dict1['key'] = list2
list1.append(dict1)
我的结果是 list2 在遍历 some_other_list 后一直在累积而不是清除。
【问题讨论】:
-
你希望它在哪里被清除?这一切是否都存在于更大的循环中?
-
抱歉造成混淆...编辑了我上面的代码以显示嵌套的 for 循环...没有更大的循环...obj1 有 2 次迭代,obj2 有 4 次迭代。
-
缩进正确吗?最后两行应该在外部 for 循环内吗?你只分配例如
list2 = []在循环之外,所以不清楚为什么你希望它在任何时候被清除。 -
刚刚对最后两行进行了编辑...
-
对于
dict2['key'] = value的每个赋值超出第一个,你显然是最后一个值。这是你想要的吗?
标签: python loops dictionary nested-lists