2
我一直在寻找在docutil源代码(这是在python),当我看到这个(节录):Python字典“复制值”
def __init__(self, **attributes):
for att, value in attributes.items():
att = att.lower()
if att in self.list_attributes:
# mutable list; make a copy for this node
self.attributes[att] = value[:]
else:
self.attributes[att] = value
我谈论该生产线是这一个:
self.attributes[att] = value[:]
“[:]”究竟做了什么?上面的评论暗示了某种副本,但我的谷歌搜索没有那么成功,我不能确定它是一种语言功能还是某种技巧/快捷方式。
谢谢,它完美地回答了我的问题。只要网站允许我也会将其标记为答案(在8分钟内或多或少) – 2012-07-29 17:22:23
请注意,它不是深层复制;它只是将引用复制到每个对象并将它们存储在一个新列表中。虽然这不应该是所有选择的复制方法,但如果您想在不影响迭代的情况下同时迭代和修改列表,这将非常有用。 – CosmicComputer 2012-07-29 22:27:24