作者jgpnsgm (哼!)
看板Python
标题Re: [问题] List 的问题 x=[[0]*10]*10 ...
时间Sat May 20 10:56:36 2006
※ 引述《jgpnsgm (哼!)》之铭言:
: 想做一个10x10的array
: 在python里是用list来实现吧?
: x=[[0]*10]*10
: print x
: 看起来好像是10x10的zero array没错..
: x[0][0]=12
: print x
: 想改变0,0的值却发现*,0的值都变了...
: 看起来是我的list有问题的样子,参考到同一位址
: 请问正确的方法是?
: 谢谢!
自问自答...
http://www.python.org/doc/faq/programming/
#how-do-i-create-a-multidimensional-list
*使用在primitive datatype以外似乎是复制参考(reference)
正确的方法是
A=[None]*3
for i in range(3):
A[i]=[0]*2
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.111.79.32
※ 编辑: jgpnsgm 来自: 140.111.79.32 (05/20 10:58)