dic = {} lst = [] # 先声明一个字典和一个列表 dic['name'] = "chenrun" lst.append(dic) print(lst) dic["name"] = "alex" lst.append(dic) print(lst) # [{'name': 'alex'}, {'name': 'alex'}].不是想要的结果 # 原因: print(id(lst[0]["name"])) # 2362655671328 print(id(lst[1]['name'])) # 2362655671328,可见这两个虽然列表的位置不一样,但是都是指向同一个对象 # 解决办法 lst = [] for i in range(3): dic = {} # 每次都重新声明一个新字典 dic['name'] = i lst.append(dic) print(id(dic)) print(lst)