python 数组定义,python怎样定义数组
本文中的例子展示了如何定义Python数组。分享仅供参考。具体如下。
Python没有数组的数据结构,但是列表类似于数组。例如:
a=[ 0,1,2 ]
此时,a[0]=0,a[1]=1,a[[2]=2,但这就产生了一个问题,如果数组A想被定义为0到999该怎么办。在这种情况下,可以在a=范围(0,1000)内实现。或者省略为a=range(1000)。如果要定义一个长度为1000的,初始值都是0,a=[0forxinrange] 0,1000)]
二维数组的定义如下。
直接定义:
a=[ 1,1 ]、[ 1,1 ] ]
这里定义了一个2*2的初始零点二维数组。
间接定义:
a=[0 for Xin range(10)]for yin range(10)]
这里定义了一个初始值为0的10*10二维数组。
还有一种更简单的词义二维排列方法:
b=[[0]*10]*10
定义一个初始值为10*10的二维数组。
与a=[0 forxinrange(10)]foryinrange(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。
这么大的数组里十个小的一维数据都指向同一个引用,也就是同一个地址。
所以b=[[0]*10]*10不符合我们通常的二维排列。
同时,实验结果表明,c=[0]*10的定义与x在范围(10)内c=[0的定义具有相同的效果,但不存在上面提到的同参考的问题。数组C定义的时候是值类型的乘法,但是前面使用类型B的乘法是因为一维数组是引用,不知道借用C#的值类型和引用类型是否合适。
更多关于Python数组定义方法的文章,请关注PHP中文网!
本文原载php中文网。请注明出处。谢谢你的尊重。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。