liugan 2020-02-13
m=2
n=3
memo_01 = [[1] * m for i in range(n) ]
memo_02 = [[1]*m]*n
print("memo_01:{},memo_02:{},".format(memo_01,memo_02)) # memo_01:[[1, 1], [1, 1], [1, 1]],memo_02:[[1, 1], [1, 1], [1, 1]]
memo_01[0][0]=2 # 这一种创建方式类似于深拷贝
memo_02[0][0]=2 # 这一种创建方式类似浅拷贝
print("memo_01:{},memo_02:{},".format(memo_01,memo_02)) # memo_01:[[2, 1], [1, 1], [1, 1]],memo_02:[[2, 1], [2, 1], [2, 1]]
之前提到去除一维数组中的重复元素用unique()函数,如果要去除二维数组中的重复行该怎么操作呢?list2=list必须先把列表中每个元素转化为tuple,因为list不可哈希但是tuple可哈希。