Re: [问题] 写法疑问

楼主: jlhg (jlhg)   2014-03-19 23:31:15
做了个小实验
>>> a = range(5)
>>> a
[0, 1, 2, 3, 4]
>>> b = a
>>> b
[0, 1, 2, 3, 4]
>>> a[:] = range(6, 10)
>>> a
[6, 7, 8, 9]
>>> b
[6, 7, 8, 9]
>>>
似乎a[:] = val 可以同时改变b指向的物件
※ 引述《birdhackor (夜残狼)》之铭言:
: 各位好,最近在看 flask 原始码的时候看到一些写法我很好奇为什么要这样写
: 例如 https://github.com/mitsuhiko/flask/blob/master/flask/exthook.py
: 49 行
: sys.meta_path[:] = [x for x in sys.meta_path if self != x] + [self]
: 为什么用 sys.meta_path[:] = ... 而不是 直接写 sys.meta_path = ... 就好呢?
作者: tiefblau (tiefblau)   2014-03-19 23:50:00
这跟上一篇一楼应该是一样意思吧?好奇为啥更新而不重赋值
作者: Microscft (小软哥)   2014-03-20 00:45:00
你不需要再设一个b,两种不同方式用id(a)去看就知道了a[:]是用同一个id 就像上篇1F说的

Links booklink

Contact Us: admin [ a t ] ucptt.com