問題描述
用for 循環為空列表中,追加不同的列表值,完成后,總是顯示最后一個列表值,而不是全部的值
原因
列表的append方法在為其添加數據的時候並沒有將完整的字典數據都拷貝的列表當中(為了提高空間的使用率),
而是存儲字典數據所在地址。
而以上這種方式修改的是該內存地址下的數據,這就導致了問題。
解決辦法
將字典放在for循環內部,每次循環時,都會新建字典,然后追加記錄,而不是放在循環外部。
for a in detail:
patents_info = {
'patent_id': '',
'patent_summary': '',
'patent_author': '',
}
結果是[{'a':'1', 'b':'1'},{'a':'2', 'b':'2'}]
感謝:https://blog.csdn.net/Sheldomcooper/article/details/82258006