python - 创建字典列表而不覆盖
问题描述
我正在寻找一种listOfuser
使用 dict User 更新列表而不覆盖任何最后一个索引的方法。
[{'name': 'john', 'fimily': 'johny', 'studentId': '2120', 'age': 23},
{'name': 'mick', 'fimily': 'micky', 'studentId': '2121', 'age': 24}]
我目前的结果:
[{'name': 'mick', 'fimily': 'micky', 'studentId': '2121', 'age': 24},
{'name': 'mick', 'fimily': 'micky', 'studentId': '2121', 'age': 24}]
用于产生上述结果的代码片段:
UserInfo = {}
listOfUser = []
UserInfo['name'] = "john"
UserInfo['fimily'] = 'johny'
UserInfo['studentId'] = '2120'
UserInfo['age'] = 23
listOfUser.append(UserInfo)
print(listOfUser)
UserInfo['name'] = "mick"
UserInfo['fimily'] = 'micky'
UserInfo['studentId'] = '2121'
UserInfo['age'] = 24
listOfUser.append(UserInfo)
print(listOfUser)
有什么办法吗?
解决方案
您需要将字典的副本附加到列表中
listOfUser.append(UserInfo.copy())
输出
[{'name': 'john', 'fimily': 'johny', 'studentId': '2120', 'age': 23},
{'name': 'mick', 'fimily': 'micky', 'studentId': '2121', 'age': 24}]
推荐阅读
- html -
元素不浮动右侧导航栏 - python - 通过在曲线上移动一个点来更新曲线
- ios - navigationController popToRootViewControllerAnimated:YES 不调用 viewWillAppear
- javascript - 如何使画布显示重新着色的图像而不是相同的图像?
- r - 在ggplot中将图像插入条形图
- python-2.7 - 仍然可以在 Python 2.7 中使用 pipenv 吗?
- python - 如何使用 win32com 将 .htm 添加到电子邮件正文
- python - 如何在 python 中使用 REST API 获取 Salesforce 帐户中的选项卡信息?
- php - 脚本不适用于 url 重写(我尝试了非相对链接)
- macos - Docker 无法为 awslogs 日志记录驱动程序提供凭据