已知:
>>> a = [1,2,3,4]
>>> b = a[1:3]
b = [2, 3]
>>> b[0] = 99
b = [99, 3]
a = [1, 2, 3, 4]
由此可知,黄色那行的值并不会改动到a阵列,而是创造一个副本了
我的问题是 :
这个副本是(1) 在我呼叫a[1:3]时就被创造了?
抑或(2) 直到我改动b[0]才被创造,若不改动就永远参照本来阵列
因为最近遇到比较高的性能要求 需要弄清楚@@
第一次po文 请大家多多指教
作者:
uranusjr (â†é€™äººæ˜¯è¶…級笨蛋)
2015-07-13 17:53:00没看 source, 但我猜应该不会, 这是很常见的最佳化如果真的需要保证, 可以改用 memory view 来替代喔我错了, 好像会 shallow copy, 没有 implicit sharing