can*_*an. 4 python variable-assignment slice
我碰巧看到这段代码:
a = []
a = [a, a, None]
# makes a = [ [], [], None] when print
a = []
a[:] = [a, a, None]
# makes a = [ [...], [...], None] when print
Run Code Online (Sandbox Code Playgroud)
看来这个a[:]赋值指定了一个指针,但我找不到有关它的文档.所以任何人都可以给我一个明确的解释?
第一个将指向a一个新对象,第二个将变异a,因此引用的列表a仍然是相同的.
例如:
a = [1, 2, 3]
b = a
print b # [1, 2, 3]
a[:] = [3, 2, 1]
print b # [3, 2, 1]
a = [1, 2, 3]
#b still references to the old list
print b # [3, 2, 1]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
203 次 |
| 最近记录: |