python输入数组,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的二维数组,初始为0。

  a=[0 forxinrange(10)]foryinrange(10)]是间接定义的,这里定义了一个初始值为10*10的二维数组。

  还有一种更简单的词义二维排列方法:

  B=[[0]*10]*10,定义一个10*10的二维数组,初始值为0。

  与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。

  由此得到大数组中的10个小的一维数据全是一个相同的引用,即指向同一地址。

  所以b=[[0]*10]*10不符合我们通常的二维排列。

  同时,实验结果表明,c=[0]*10的定义与x在范围(10)内c=[0的定义具有相同的效果,但不存在上面提到的同参考的问题。数组C定义的时候是值类型的乘法,但是前面使用类型B的乘法是因为一维数组是引用,不知道借用C#的值类型和引用类型是否合适。

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

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