python 当在列表中插入字典元素时,未赋空字典清空,导致新增字典元素重复

python 当在列表中插入字典元素时,未赋空字典清空,导致新增字典元素重复

python 当在列表中插入字典元素时,未赋空字典清空,导致新增字典元素重复

在做数据处理时,遇到这种在列表内新增字典元素时,因为没有每次新增时都把原先字典清空,导致所有新增的字典元素都是重复值的情况,简单记录一下。

初始

  • 新增字典插入至列表中
list1 = [{
    
    'text': '玻璃糖醛酸酶', 'normalized_result': '透明质酸酶'}]
dict1 = {
    
    }

dict1["text"] = 'valueA'
dict1["normalized_result"] = 'keyA'
list1.append(dict1)

output:
[{‘text’: ‘玻璃糖醛酸酶’, ‘normalized_result’: ‘透明质酸酶’},
{‘text’: ‘valueA’, ‘normalized_result’: ‘keyA’}]

错误结果

当插入第二个元素时,需重新清空字典,否则列表中的所有新增键值会重复。如下错误结果:

dict1["text"] = 'valueB'
dict1["normalized_result"] = 'keyB'
list1.append(dict1)

output:
[{‘text’: ‘玻璃糖醛酸酶’, ‘normalized_result’: ‘透明质酸酶’},
{‘text’: ‘valueB’, ‘normalized_result’: ‘keyB’},
{‘text’: ‘valueB’, ‘normalized_result’: ‘keyB’}]

正确结果

所以,此时需重新提前赋予空字典。正确结果:

dict1 = {
    
    }
dict1["text"] = 'valueB'
dict1["normalized_result"] = 'keyB'
list1.append(dict1)

output:
[{‘text’: ‘玻璃糖醛酸酶’, ‘normalized_result’: ‘透明质酸酶’},
{‘text’: ‘valueA’, ‘normalized_result’: ‘keyA’},
{‘text’: ‘valueB’, ‘normalized_result’: ‘keyB’}]

完整代码

如下:

list1 = [{
    
    'text': '玻璃糖醛酸酶', 'normalized_result': '透明质酸酶'}]
dict1 = {
    
    }

# 新增第一个字典元素
dict1["text"] = 'valueA'
dict1["normalized_result"] = 'keyA'
list1.append(dict1)

# 新增第二个字典元素
dict1 = {
    
    }
dict1["text"] = 'valueB'
dict1["normalized_result"] = 'keyB'
list1.append(dict1)

output:
[{‘text’: ‘玻璃糖醛酸酶’, ‘normalized_result’: ‘透明质酸酶’},
{‘text’: ‘valueA’, ‘normalized_result’: ‘keyA’},
{‘text’: ‘valueB’, ‘normalized_result’: ‘keyB’}]

猜你喜欢

转载自blog.csdn.net/Fuziqp/article/details/126837963