Python字典“复制值”

时间:2012-07-29 17:14:43

标签: python docutils

当我看到(编辑)时,我正在查看docutil源代码(在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[:]

“[:]”到底是做什么的?它上面的评论提示某种副本,但我的谷歌搜索并没有那么成功,我无法确定它是语言功能还是某种特技/快捷方式。

1 个答案:

答案 0 :(得分:8)

它会复制列表(它不是字典)

符号称为“切片”。您还可以指定开始和结束复制的位置,如果您没有指定任何内容 - 如在代码提取中那样 - 它将从第一个元素复制到最后一个元素。

例如,mylist[1:]将复制整个列表,省略第一个元素。

查看here以获得全面的解释。