Python リストに辞書要素を挿入すると、割り当てられていない辞書が空になり、新しい辞書要素が重複してしまう

Python リストに辞書要素を挿入すると、割り当てられていない辞書が空になり、新しい辞書要素が重複してしまう

Python リストに辞書要素を挿入すると、割り当てられていない辞書が空になり、新しい辞書要素が重複してしまう

データ処理を行うときに、リスト内でこの新しい辞書要素が見つかった場合、元の辞書は追加されるたびにクリアされないため、新しく追加されたすべての辞書要素は重複した値になるため、単純に記録します。

イニシャル

  • 新しい辞書をリストに挿入します
list1 = [{
    
    'text': '玻璃糖醛酸酶', 'normalized_result': '透明质酸酶'}]
dict1 = {
    
    }

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

出力:
[{'text': 'ガラスウロニダーゼ', 'normalized_result': 'ヒアルロニダーゼ'},
{'text': 'valueA', 'normalized_result': 'keyA'}]

間違った結果

2 番目の要素を挿入するときは、ディクショナリを再度空にする必要があります。空にしないと、リスト内のすべての新しいキー値が複製されます。次のエラーが発生します。

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

出力:
[{'text': 'ガラスウロニダーゼ', 'normalized_result': 'ヒアルロニダーゼ'}, {'text' : '
valueB', 'normalized_result': 'keyB'},
{'text': 'valueB', 'normalized_result': 'keyB'}]

正しい結果

したがって、このとき、あらかじめ空の辞書を割り当てておく必要がある。正しい結果:

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

出力:
[{'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)

出力:
[{'text': 'ガラスウロニダーゼ', 'normalized_result': 'ヒアルロニダーゼ'}, {'text' : '
valueA', 'normalized_result': 'keyA'},
{'text': 'valueB', 'normalized_result': 'keyB'}]

おすすめ

転載: blog.csdn.net/Fuziqp/article/details/126837963