tanggang1740 发表于 2017-4-23 14:23:06

Python 多维数组

  Python 中初始化一个8*8的数组时,应该使用:

Chess = [ for row in range(8)]
  而初始化一个一维数组的时候,可以用:

Queen = * 8
  但是初始化二维数组,也就是:

Chess = [ * 8] * 8
  事实上得到的与前面不同,
  因为 * 8一个一维数组的对象,
  * 8 是把对象的引用复制了 8 次,
  如果修改 Chess:

Chess = 'luaedge'
print Chess
  得到的是:
  [['luaedge', 0, 0, 0, 0, 0, 0, 0], ['luaedge', 0, 0, 0, 0, 0, 0, 0], ['luaedge', 0, 0, 0, 0, 0, 0, 0], ['luaedge', 0, 0, 0, 0, 0, 0, 0], ['luaedge', 0, 0, 0, 0, 0, 0, 0], ['luaedge', 0, 0, 0, 0, 0, 0, 0], ['luaedge', 0, 0, 0, 0, 0, 0, 0], ['luaedge', 0, 0, 0, 0, 0, 0, 0]]
  如果用第一种的类似写法:

Chess = [ * 8 for row in range(8)]
Chess = 'luaedge'
print Chess
  得到的将是:
  [['luaedge', 0, 0, 0, 0, 0, 0, 0], , , , , , , ]
  这是预想中的结果。
页: [1]
查看完整版本: Python 多维数组