x [:] = y是什么意思?

Jer*_*ry -1 python

我试着[:]在一开始就明白了,但我找不到任何文件提到它.学习Python高级语法的最佳位置在哪里?Google搜索无法找到[:].但我最后想出来了.我只是想知道哪里是学习Python'技巧'的最佳位置.

例如:

def test(x, y):
    x[:] = y  
    #x = y

>>> a = [0.5,0.6]
>>> b = [0.3]
>>> test(a, b)
>>>
>>> print a
[0.3]  # [0.5,0.6] 
Run Code Online (Sandbox Code Playgroud)

Bha*_*rel 8

x[:]意味着整个序列.基本上就是这样x[from:to].

省略from意味着,从一开始就到了to.

>>> numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> numbers[:5]
[0, 1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

省略to意味着,从from直到结束.

>>> numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> numbers[5:]
[5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

省略两者意味着整个列表.

>>> numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> numbers[:]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

设置numbers[:]意味着设置整个列表:

>>> numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> numbers[:] = [1, 2, 3, 4]
>>> numbers
[1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

请记住设置numbers[:]列表更改但不创建新更改的更改.该对象仍将具有相同的id().