dictionaries link
我对字典不太熟悉,发现下面的内容很混乱。
1 2 3 4
| resume = [{'name': 'New', 'value1': 'dfgdf'}, {'name': 'garry', 'value1': 'hhhhhh'}]
current = resume[0]
current['name'] = '24/7 link was not requested...'
print(resume) |
返回:
1
| [{'name': '24/7 link was not requested...', 'value1': 'dfgdf'}, {'name': 'garry', 'value1': 'hhhhhh'}] |
当没有要求resume和current之间的永久/连续链接时,为什么会发生这种情况?……我怎样才能改变它,使current['name']更新为新的/请求的字符串值,而不是恢复。
- 但《最新》是简历中的第一本词典。
- 是的,但当我用current['name']改变current中的值时…resume中的值不应改变。我没有要求。
- 您是否不想修改resume中的第一个元素?如果是这样,您可以执行current = resume[0].copy()来获取第一个元素的副本。这里有更多的内容
- 我还建议在这里阅读:realphython.com/copying-python-objects
- @里斯,是的,你确实要求过。请阅读nedbatchelder.com/text/names.html,这与字典无关,这是python中所有对象的赋值方式。
尝试改变
到
1
| current = resume[0].copy() |
这应该创建一个新的字典对象。
- 谢谢,我过一会儿再测试。列表可以在没有.copy()的情况下完成这项工作。默认情况下包含此链接的目的是什么=/
- 不,列表具有相同的行为。阅读Juanpa发布的链接。
- @里斯不,Python的一切都是这样。
- 哇,你说得对。我以前从没见过
- 我会把这个标记为正确的。适用于列表和字典。据记载,这让我发疯了。它增加了基本指令的复杂性