ETREE を使用してデータがフェッチされるプログラムに7つの辞書があります。問題は、出力に示されているように、Pythonが各辞書に対して個別の辞書インスタンスを作成しないことです。これらの辞書のいずれかを印刷すると、同じ出力が得られます。すべてのデータの和集合を持つ大きな辞書。
tr_dict,tr_text,exp_dict,exp_text,top_dict,top_text,times=[{}]*7 #n 個の空の辞書を作成
トランスクリプトの tr の場合:
trtext = tr.find('TATION/ANNOTATION_VALUE').text
tr_time_ref = tr.find('TATION').attrib['TIME_SLOT_REF1']
tr_ann_ref = tr.find('ATION').attrib['ANNOTATION_ID']
tr_dict[tr_ann_ref] = tr_time_ref
tr_text[tr_time_ref]=trtext
...
出力:
[データベース]>>> exp_dict は exp_text です 真実 [データベース]>>> tr_dict は tr_text です 真実 [データベース]>>> tr_dict は exp_dict です 真実
もちろん、私はこれが起こらないようにしたくありません.Pythonでそれぞれに個別のdictを作成して使用してもらいたいです。