数组的初始化

2018-10-13  本文已影响0人  MononokeHime

在刷leetcode的时候,有时候都需要初始化数组,那么Python中如何初始化数组呢?

1.一维数组初始化

nums = [0 for i in range(10)]
或者
nums = [0]*10

2.二维数组初始化
我们只能用列表推导式的方式来生成

matrix = [[for i in range(m)] for j in range(n)] 

为什么不能用matrix = [[0]*m]*n

这是因为通过*生成的列表,列表中的每一个元素的地址都是一样的,即都是指向同一个对象,当我们进行赋值的时候,例如matrix[i][j] = 12,对应的子列表中的元素都跟着改变

>>> matrix = [[0]*2]*3
>>> matrix
[[0, 0], [0, 0], [0, 0]]
>>> id(matrix[0])
4519032008
>>> id(matrix[1])
4519032008
>>> matrix[0][0]=20
>>> matrix
[[20, 0], [20, 0], [20, 0]]
上一篇 下一篇

猜你喜欢

热点阅读