我有一个字典,我填写了一些值,然后将该字典附加到列表并循环。问题是,在每个新循环中,更改字典的值(在每个循环上使用相同的键)也将更改已添加到列表中的字典上的值。
继承我的代码:
script_dict = {}
script_list = []
while row is not None:
script_dict['id'] = str(row[0])
script_dict['name'] = row[1]
script_dict['desc'] = row[2].decode('UTF-8')
script_dict['subj'] = row[3]
script_list.append(script_dict)
row = db.cur.fetchone() # get new set of items from the db
我明白python会添加对列表的引用而不是所有的值,但是如何解决这个问题,或者我应该使用什么呢?