Re: [問題] 寫法疑問

看板Python作者 (jlhg)時間11年前 (2014/03/19 23:31), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串2/2 (看更多)
做了個小實驗 >>> 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 = ... 就好呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.28.171

03/19 23:50, , 1F
這跟上一篇一樓應該是一樣意思吧?好奇為啥更新而不重賦值
03/19 23:50, 1F

03/20 00:45, , 2F
你不需要再設一個b,兩種不同方式用id(a)去看就知道了
03/20 00:45, 2F

03/20 00:45, , 3F
a[:]是用同一個id 就像上篇1F說的
03/20 00:45, 3F
文章代碼(AID): #1JARX5h2 (Python)
討論串 (同標題文章)
本文引述了以下文章的的內容:
5
14
完整討論串 (本文為第 2 之 2 篇):
1
3
5
14
文章代碼(AID): #1JARX5h2 (Python)