作者peace9527 (谢谢你9527)
看板Python
标题[问题] python的二维list用法...
时间Fri Feb 5 10:54:57 2016
list_test = [[None]*2]*3
list_test[0][0] = 4
print(list_test)
output: [[4, None], [4, None], [4, None]]
我以为我的宣告是正确的...
结果的确是成功宣告二维阵列
但是要assign值 却有点怪怪的
我只想指定 (0, 0) 那值为4
但是他却把 (0, 0) (1, 0) (2, 0)都变成4了..
请问为什麽会这样呢
我要怎麽操作才有办法像C那样控制二维阵列呢?
感谢各位大神
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.233.83.112
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1454640899.A.C68.html
1F:→ justinj: 测试结果[[1]]*3,跟一个一个加後..操作结果不一样.. 02/05 11:06
2F:→ alibuda174: list_test = [[None] * 2 for i in range(3)] 02/05 11:17
感谢大神!
3F:推 tiefblau: 你用乘的 所以都是同一个list 02/05 11:51
原来如此! 长知识了!
4F:→ linux5566: 如果你阵列都是数值型态 建议你用 ndarrary 02/06 10:04
我的是有字串 也有数字 感谢您的建议!
5F:推 fischcheng: list用来算数字不好用 02/07 02:00
那请问用什麽来算数字比较好呢?
是楼上那位大神说的ndarray吗??
※ 编辑: peace9527 (111.83.57.249), 02/07/2016 14:24:18
6F:→ yogi: numpy array? 02/08 03:16
7F:推 fischcheng: numpy array or matrix 02/10 03:31