1
我有一些程序的7個字典中的數據是使用ETREE獲取的,問題是python不會爲輸出中顯示的每個字典創建單獨的字典實例,只要我打印任何這些字典我得到相同的輸出,這是一個具有所有數據聯合的大型字典。不同字典共享相同的實例
tr_dict,tr_text,exp_dict,exp_text,top_dict,top_text,times=[{}]*7 #create n empty dictionaries for tr in transcript: 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 ...
輸出:
[Dbg]>>> exp_dict is exp_text True [Dbg]>>> tr_dict is tr_text True [Dbg]>>> tr_dict is exp_dict True
Ofcourse我不希望這樣的事情發生,我想蟒蛇創建和使用一個單獨的字典每個。
[Python列表索引]的可能重複(http://stackoverflow.com/questions/13058458/python-list-index) – ecatmur
你有沒有考慮tr_dict = {},tr_text = {}等等? – foosion
@ecatmur感謝您指出真實的原因(通過引用傳遞),這個快捷方式花費我時間:( – stackit