Python中List二维数组

来源:互联网 发布:小漠淘宝店网址 编辑:程序博客网 时间:2024/05/16 05:03

今天用List创建二维数组:

s=[[0]*2]*3>>> s[[0, 0], [0, 0], [0, 0]]
对s[1][1]加1时,发现整个第二列都被赋值,变成

>>> s[1][1]+=1>>> s[[0, 1], [0, 1], [0, 1]]

原因:

list * n—>n shallow copies of list concatenated, n个list的浅拷贝的连接

另外一种方式进行创建多维数组,以免浅拷贝:

>>> lists = [[]for iin range(3)]>>> lists[0].append(3)>>> lists[1].append(5)>>> lists[2].append(7)>>> lists[[3], [5], [7]]

之前的二维数组创建方式为:

myList= [([0]* 3)for iin range(4)]


0 0
原创粉丝点击