python list和数组,python 多维list

  python list和数组,python 多维list

  本文主要介绍了python中list*n生成多维数组和for循环生成多维数组的区别,有很好的参考价值。希望对你有帮助。如有错误或不足之处,请不吝赐教。

  00-1010List * n生成多维数组和for循环生成多维数组的区别1。从一个问题开始2。如何以正确的方式动态生成多维数组下面的代码生成一个332的三维数组。

  

目录

 

  本文主要介绍二维数组的生成方法,并说明使用list * n模式存在的问题。

  

list*n生成多维数组与for循环生成多维数组的区别

 

  先看一段代码:

  列表0=[1,2,3]

  列表1=[列表0] * 3

  打印(“列表1是:”,列表1)

  列表1[0][0]=999

  打印(“新列表1是:”,列表1)

  结果:

  程序希望以list * n的方式生成一个初始的二维数组,并修改它的一些值,从而生成我们想要的数组。

  但是,当我们修改[0][0]的值时,我们发现[1][0],[2][0]的个数也变成了999。

  原因是当我们使用list * n方法时,我们使用的是浅层拷贝。list1[0]、list1[1]和list1[2]实际上是list0的浅层副本。

  当我们在上面的程序中,添加下面的代码:

  打印(列表0是,列表0)

  打印(列表0是列表1[0])

  打印(列表1[0]是列表1[1])

  list0的值也是变化的,通过程序判断,list 0,list 1 [0]和list [1]其实是一个列表。

  

1.从一个问题说起

 

  list0=[(i 1) for i in range(3)]

  list 2=[[(I 1)for I in range(3)]for _ in range(3)]

  打印(“列表2是:”,列表2)

  list2[0][0]=999

  打印(“新列表2是:”,列表2)

  打印(列表0是,列表0)

  打印(列表0是列表2[0])

  打印(列表2[0]是列表2[1])

  

2.正确的方式

 

  多维数组实际上是多个一维数组的嵌套。Python中有一个原生列表,类似于动态数组。

  所以动态生成多维数组的思路就是在列表中动态嵌套和添加列表。

  

如何动态生成多维数组

 

  #编码:utf-8

  #使用Python3中的打印功能

  从__future__导入print_function

  arr=[]

  #基本思想是动态添加列表到列表中,每个列表都可以嵌套,这样就可以形成一个多维数组。

  #行的集合保存在arr中,列的集合保存在row中

  #这是一个332的三维阵列

  对于范围(3):中的I

  row=[]

  对于范围(3):中的j

  col=[]

  列追加(i j)

  列追加(i * j)

  row.append(列)

  数组追加(行)

  打印(排列)

  打印(“输出结果:”)

  对于范围(3):中的I

  对于范围(3):中的j

  对于范围(2):中的k

  打印([,end= )

  print(i,end=,)

  print(j,end=,)

  print(k,end=]=)

  打印(arr[i][j][k])

  运行结果:

  以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。

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

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