声明n字典

时间:2018-06-04 11:54:52

标签: python python-3.x dictionary

我想声明一个n字典的列表。 然而,在迭代期间,列表中的所有字典似乎都指向同一个字典。适用于列表中所有词典的最后一次迭代的数据。 如何避免这个问题? 谢谢

lst=[]
template={"field1":"","field2":"","field3":""}
j={}
dict_id=1
for i in range(10):
    j[dict_id]=template
    j[dict_id]["field1"]=i
    j[dict_id]["field2"] = i
    j[dict_id]["field3"] = i
    dict_id+=1
    lst.append(j)

print(j)

  >>> 
   {1: {'field1': 9, 'field2': 9, 'field3': 9},
    2: {'field1': 9, 'field2': 9, 'field3': 9},
    3: {'field1': 9, 'field2': 9, 'field3': 9},
    4: {'field1': 9, 'field2': 9, 'field3': 9},
    5: {'field1': 9, 'field2': 9, 'field3': 9},
    6: {'field1': 9, 'field2': 9, 'field3': 9},
    7: {'field1': 9, 'field2': 9, 'field3': 9},
    8: {'field1': 9, 'field2': 9, 'field3': 9},
    9: {'field1': 9, 'field2': 9, 'field3': 9},
   10: {'field1': 9, 'field2': 9, 'field3': 9}}

0 个答案:

没有答案