Python 中初始化一个8*8的数组时,应该使用:
Chess = [[0 for column in range(8)] for row in range(8)]
而初始化一个一维数组的时候,可以用:
Queen = [0] * 8
但是初始化二维数组,也就是:
Chess = [[0] * 8] * 8
事实上得到的与前面不同,
因为[0] * 8一个一维数组的对象,
* 8 是把对象的引用复制了 8 次,
如果修改 Chess[0][0]:
Chess[0][0] = '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 = [[0] * 8 for row in range(8)]
Chess[0][0] = 'luaedge'
print Chess
得到的将是:
[['luaedge', 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]]
这是预想中的结果。
分享到:
相关推荐
Bolt 是一个给本地或分布式多维数组提供 Python 界面的开源库,它旨在优化数据处理性能,不管数据是小型、中型还是非常非常大型的数据,它通过一个普通且熟悉的 ndarray 界面来完成这项任务。Bolt 核心 100% 是 ...
在Python中,NumPy库提供了一套完整的多维数组切片方法,允许用户方便地从数组中提取需要的数据片段。接下来,我们将详细探讨如何在Python中使用NumPy库对多维数组进行切片操作。 首先,多维数组通常是由多个一维...
以上这篇python numpy 一维数组转变为多维数组的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:python二维列表一维列表的互相转换实例Python的...
在Python中处理多维数组挑选符合条件的元素是一项基础但重要的技能,尤其在数据处理和科学计算领域。在本篇文章中,我们将探讨如何高效地从多维数组中挑选出符合特定条件的元素。这不仅仅是一个编程技巧问题,也是一...
在Python等动态类型语言中,多维数组通常用列表的嵌套来实现: ```python matrix = [[0]*4 for _ in range(3)] # 创建一个3行4列的二维数组,所有元素初始为0 ``` 多维数组的访问和操作与一维数组类似,但增加了对...
在Python编程中,多维数组通常通过列表(list)嵌套的方式实现。列表是一种内置的数据结构,可以容纳不同类型的数据,包括其他列表,从而实现数组的多维化。统计多维数组的行数和列数是处理数组时的一个基本操作,...
虽然Python原生的list类型不直接支持多维数组,但通过嵌套list,我们可以实现类似多维数组的功能。本文将详细介绍如何在Python中创建和赋值多维空数组,并通过一个具体的例子——打印N阶杨辉三角形来进一步阐述。 ...
在Python编程中,多维数组的排序是一个常见的需求,特别是在数据分析和科学计算中。Python的NumPy库提供了处理多维数组的强大功能,其中包括对数组进行排序。本篇文章将详细讲解如何使用Python和NumPy库来实现多维...
在Python编程语言中,多维数组切片是一个强大的特性,特别是在处理数据时,如科学计算、数据分析和机器学习等领域。本篇文章将深入探讨如何在多维数组中进行切片操作,以便有效地访问和操作数组中的特定部分。 首先...
您可能感兴趣的文章:在Python中输入一个以空格为间隔的数组方法python分割文件的常用方法python分割列表(list)的方法示例python多维数组切片方法python使用pandas实现数据分割实例代码对Python 数组的切片操作...
4. `flatten()`: 将多维数组转换为一维数组。 5. `transpose()`: 转置数组,交换行和列。 6. `concatenate()`, `stack()`: 连接或堆叠多个数组。 7. `append()`, `insert()`: 在数组的末尾添加或插入元素。 8. `...
Python中的列表可以模拟多维数组,定义如下: ```python arr = [[0]*4 for _ in range(3)] # 创建一个3行4列的二维列表 ``` 赋值操作: ```python arr[0][0] = 1 # 给第一行第一列赋值 ``` 4. **JavaScript...
3.3 数组的嵌套:在Python等语言中,可以使用嵌套的列表来实现多维数组,如`arr = [[1, 2, 3], [4, 5, 6]]`。 四、多维数组的操作 4.1 访问元素:通过指定行和列的索引来访问多维数组中的元素,如`arr[row][col]`...
我就废话不多说了,如下所示: >>>from compiler.ast import flatten >>>X matrix([[ 1, 17, 13, 221, 289, 169], [ 1, 17, 14, 238, 289, 196], [ 1, 17, 15, 255, 289, 225], [ 1, 18, 13, 234, 324,...
本文实例讲述了Python动态生成多维数组的方法。分享给大家供大家参考,具体如下: 多维数组其实就是多个一维数组的嵌套,Python中有原生的list,类似一个动态数组。 所以动态生成多维数组的思想就是在list中动态...