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