将列表添加到列表会覆盖Python中的所有词典

时间:2018-05-28 10:31:43

标签: python list dictionary

我有一个字典让我们说my_dic我希望通过修改my_dic的值的循环将其附加到列表中,这是示例,它的工作原理如下:

my_lst = []
my_dic = {
    'hello': 'World'
}
my_lst.append(my_dic)
my_dic = {
    'hello': 'World 2'
}
my_lst.append(my_dic)

然后返回[{'hello': 'World'}, {'hello': 'World 2'}]这就是我想要的,它可以正常工作。但还有另一个地方,同样的事情不起作用。

query = """
           SELET * FROM some_table
        """

connection = mysql.connector.connect(user=user, 
                                                password=password,
                                                host=host,
                                                database=database)
cursor = connection.cursor(dictionary=True)
cursor.execute(query)   

rows=cursor.fetchall()


data= []
tempRow = rows[0]

tempRow['RS'] = 'old value'
data.append(tempRow)

tempRow = rows[0]
tempRow['RS'] = '1'
data.append(tempRow)


pp(data)

返回data,如下所示:

[{'RS': '1'}, {'RS': '1'}]

然而,我希望它是这样的:

[{'RS': 'old value'}, {'RS': '1'}]

编辑:我已删除循环。

0 个答案:

没有答案