帮助理解这段代码

时间:2011-07-12 09:38:39

标签: python

完整的源代码是@ PEP 333。这两行:

status, response_headers = headers_sent[:] = headers_set

..和..

headers_set[:] = [status, response_headers]

我在这看什么? [:]如何区别于什么都没有(仅headers_set)?如果有人能提供解释,我会很高兴。

1 个答案:

答案 0 :(得分:4)

[:]表示您正在覆盖整个列表的内容。

>>> a = [1,2,3]
>>> a[:] = [3,4]
>>> a
[3, 4]
>>> a[]
  File "<stdin>", line 1
    a[]
      ^
SyntaxError: invalid syntax

您可以使用相同的语法覆盖列表的某些索引范围:

>>> a[2:] = [3,4]
>>> a
[3, 4, 3, 4]