python列表中添加字典后,修改字典,原列表中添加的字典也会修改的问题记录
解决a列表中添加b字典,修改b字典后再添加到a列表中,之前a列表中添加的字典值也改变的问题
·
问题记录
功能:从xls文件中读取数据并上传到jira创建issue
问题:从xls文件中读取到的数据需要按照jira指定的格式,将xls数据先存入到dict字典中,然后添加到list列表中,循环遍历xls中的数据,将每行的数据存入字典 再存入列表,第二次循环时就会更改list中第一次加入的字典数据,例子如下:
def test():
a = []
b = {}
b.update({'a': '1'})
print(b)
# {'a': '1'}
a.append(b)
print(a)
# [{'a': '1'}]
b.update({'a': 2})
print(b)
# {'a': 2}
a.append(b)
print(a)
# [{'a': 2}, {'a': 2}]
解决方法
利用深拷贝解决
def test():
a = []
b = {}
b.update({'a': '1'})
print(b)
# {'a': '1'}
a.append(b)
print(a)
# [{'a': '1'}]
a = copy.deepcopy(a) # 深拷贝
b.update({'a': 2})
print(b)
# {'a': 2}
a.append(b)
print(a)
# [{'a': 1}, {'a': 2}]
更多推荐
所有评论(0)