python中数组怎么定义,python怎么定义数组

python中数组怎么定义,python怎么定义数组,Python数组定义方法

本文主要介绍了Python数组的定义方法,并结合实例分析了Python一维数组和二维数组的定义方法及相关注意事项。有需要的可以参考一下。

本文阐释了Python数组定义方法。分享给你,供你参考,如下:

Python中没有数组的数据结构,但是列表很像数组,比如:

a=[0,1,2]

这时:a[0]=0,a[1]=1,a[[2]=2,但这就引出了问题,数组A想定义为0到999怎么办?这可以通过a=range(0,1000)来实现。或者省略为a=range(1000)。如果你想定义一个1000的长度,并且初始值都是0,那么a=[0表示x在范围(0,1000)内]

下面是二维数组的定义:

直接定义:

a=[[1,1]、[1,1]]

这里定义了一个初始值为0的2*2二维数组。

间接定义:

a=[[0表示范围(10)中的x]表示范围(10)中的y]

这里定义了一个初始为0的10*10的二维数组。

还有一种更简单的二维词义数组方法:

b=[[0]*10]*10

定义一个10*10初始0的二维数组。

与a=[[0 for x in range(10)]for y in range(10)]:print a==b的结果为真。

但是用B代替A的定义方法后,之前能正常运行的程序也出问题了。经过仔细分析,得出了区别:

当a[0][0]=1时,只有a[0][0]为1,其他都为0。

当b[0][0]=1时,a[0][0],a[1][0],只到a[9,0]都是1。

由此可知,一个大数组中的10个小的一维数据都是相同的引用,也就是指向同一个地址。

所以b=[[0]*10]*10不符合我们常规的二维数组。

同时,经过测试:c=[0]*10的定义与c=[0 for x in range(10)]的定义具有相同的效果,但不存在上述引用相同的问题。估计数组C的定义是值类型的乘法,而B的前一个是类型的乘法,因为一维数组是引用(不知道借用C#中的值类型和引用类型是否合适)。

对更多Python相关内容感兴趣的读者可以查看我们的专题:《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》、《Python文件与目录操作技巧汇总》。

希望本文对Python编程有所帮助。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: